Ar呐 2021-12-12 18:03 采纳率: 100%
浏览 73
已结题

运行完全没问题,但是编译警告,我感觉和泛型有关,但不知道该怎么改

题目

选择合适的Map集合保存5位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。要求如下:
(1)创建TreeMap集合。
(2)使用put()方法将学号和姓名存储到Map中,
存的时候可以打乱顺序观察排序后的效果。
(3)使用map.keySet()获取键的Set集合。
(4)使用Set集合的iterator()方法获得Iterator对象用于迭代键。
(5)使用Map集合的get()方法获取键所对应的值。

代码:

import java.util.*;
public class Test04
{
    public static void main(String[] args)
    {
        TreeMap<String,String> map=new TreeMap<>(new MyComparator());
        map.put("1","Lucy");
        map.put("4","Aimee");
        map.put("2","John");
        map.put("5","Amanda");
        map.put("3","Smith");
        Set<String> set=map.keySet();
        Iterator<String> it=set.iterator();
        while(it.hasNext())
        {
            String key=it.next();
            System.out.println(key+":"+map.get(key));
        }
    }
}
class MyComparator implements Comparator
{
    public int compare(Object obj1,Object obj2)
    {
        String ele1=(String)obj1;
        String ele2=(String)obj2;
        return ele2.compareTo(ele1);
    }
}

运行结果及报错内容 :
注: Test04.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

我希望编译不出警告,这个程序运行没有问题,请问需要怎么改?

  • 写回答

3条回答 默认 最新

  • 俺不理解 2021-12-12 18:27
    关注

    改一下

    
    class MyComparator implements Comparator<String>
    {
        public int compare(String ele1,String ele2)
        {
            return ele2.compareTo(ele1);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 创建了问题 12月12日

悬赏问题

  • ¥50 gki vendor hook
  • ¥15 centos7中sudo命令无法使用
  • ¥15 灰狼算法和蚁群算法如何结合
  • ¥15 这是一个利用ESP32自带按键和LED控制的录像代码,编译过程出现问题,请解决并且指出错误,指导如何处理 ,协助完成代码并上传代码
  • ¥20 stm32f103,hal库 hal_usart_receive函数接收不到数据。
  • ¥20 求结果和代码,sas利用OPTEX程序和D-efficiency生成正交集
  • ¥50 adb连接不到手机是怎么回事?
  • ¥20 抓取数据时发生错误: get_mooncake_data() missing 1 required positional argument: 'driver'的问题,怎么改出正确的爬虫代码?
  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联