类型不确定的变量和类型确定的变量进行比较,菜鸟一个,望大神指教

qq_35564287 2016-12-08 09:04:45
之前有了两句代码HashMap<String,?extends Number> rls; float a:arr3;说明a是float型,rls类型不确定,后面写的if(rls.get(a)==100)这句不正确,那么该怎样转化才可以进行比较?
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryuugu_rena 2016-12-08
  • 打赏
  • 举报
回复
你多看看map吧,类型都搞错还敲什么代码?
ichavin 2016-12-08
  • 打赏
  • 举报
回复
Number是一些基本数值类型的包装类的子类,如int->Integer,integer继承自Number。如果你的map的value是一个float类型,并且包含小数,例如100.1,那它与100进行比较肯定就是false,如果是100.0那么是相等的,是true。 另外因为你是哪基础类型的包装类与100进行比较,它们实际上比较的是值。包装类先转为值再与100比较
soton_dolphin 2016-12-08
  • 打赏
  • 举报
回复

HashMap<String, ? extends Number> test = test1;

        test1.put("a", 1f);
        if(test1.get("a") == 100){

        }
soton_dolphin 2016-12-08
  • 打赏
  • 举报
回复
hashmap 的键应该是string类型啊

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧