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日

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试