ecplise总是有警告

skls5s 2007-08-16 08:22:08
不知道为什么ecplise总是对
HashMap map = new HashMap();
map.put("s_search",s_search);
map.put("s_searchNm",s_searchNm);
这样的代码给以警告提示,就是左边列号旁边有小的黄叹号。很烦人,不知道怎么才能让它消失。
...全文
342 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
to: zdjray

如果都去忽略这些警告的话,那还不如不用 1.5 的版本,既然用了 1.5 的版本,就不能忽略它的警告。

再说了,我不认为加上泛型参数之后会浪费多少时间,相反不使用泛型参数,你就得花时间进行强制类型转换,这些难道就不算时间?这样看来(不去管类型安全问题),使用泛型可以帮我们减少代码量。

至于标准,JDK 1.5 所有的集合框架都加上了泛型,我想 Java 架构师的用意很明显,否则这个重要的新增特性的优势就不能充分体现了。我想 Java 采用了泛型,并不是想让我们忽略它的吧!

★★ 强烈地不赞同所有关于忽略警告和改编译级别的观点,也不赞同“一个项目中有很多Warning是正常现象”的观点。
likgui 2007-08-17
  • 打赏
  • 举报
回复
HashMap<String) map = new HashMap<String>();
zdjray 2007-08-17
  • 打赏
  • 举报
回复
bao110908(长牙了,好痛)

话说这情况也要看时间和标准怎么权衡了~~
gstring 2007-08-16
  • 打赏
  • 举报
回复
有Warning是正常现象,你用的是jdk1.5 及以上版本,对集合的参数的有泛型要求,
可以不理它.
dada360778512 2007-08-16
  • 打赏
  • 举报
回复
这是关于泛型的警告 但不是编译错误
这增强了类型安全
应关注!
混沌骑士 2007-08-16
  • 打赏
  • 举报
回复
jdk1.5 及以上版本里 对集合对象的泛型参数的要求

如果你还是想使用jdk1.4里的那种风格: 工程属性 -> Java Compiler -> 勾选Enable project specific setting 然后选择Compiler compliance level 为 1.4
zdjray 2007-08-16
  • 打赏
  • 举报
回复
也可以在方法前添加
@SuppressWarnings(value={"unchecked"})

但是Warning一般不用去掉,若是觉得烦人,那是自己的习惯
一个项目中有很多Warning是正常现象
rorey_008 2007-08-16
  • 打赏
  • 举报
回复
eclipse中自定义警告:

窗口->首选项->java->编译器->错误/警告

然后自定义哪些编译时需要警告就可以了
  • 打赏
  • 举报
回复
Map、List、Set 等集合框架在 JDK 1.5 以上的版本中都应加上泛型参数,像 Map 应为 Map<K, V>,K 表示键的类型、V 表示值的类型,比如说 HashMap<String, String> map = new HashMap<String, String>(); ,只能存放键为 String 类型,值为 String 的数据了,不能存放其他类型的数据,在取出数据时也可以不用进行强制类型转换了,增强了数据的安全性。

使用泛型也有助于使用 foreach 进行遍历,

for(Map.Entry<String, String> entry : map.entrySet()) {
  System.out.println(entry.getKey() + " --> " + entry.getValue());
}

不建议采用楼上三位的方法,不要忽略警告。
cancer2000 2007-08-16
  • 打赏
  • 举报
回复
改写成:
Map<String, Object> map = new HashMap<String, Object>();
孟子E章 2007-08-16
  • 打赏
  • 举报
回复
Ctrl+1 (数字)
jaguarlsl 2007-08-16
  • 打赏
  • 举报
回复
eclipse中自定义警告:

窗口->首选项->java->编译器->错误/警告

然后自定义哪些编译时需要警告就可以了
malligator 2007-08-16
  • 打赏
  • 举报
回复
也可以用1.4
也可以指定Map中Key-Value的类型
孟子E章 2007-08-16
  • 打赏
  • 举报
回复
你可以在问题列表上点右键-快速修复,也可以设置ecplise,忽略警告
chenyifei211 2007-08-16
  • 打赏
  • 举报
回复
bao110908(长牙了,好痛) ( ) 信誉:100 2007-8-16 9:09:14 得分: 0



Map、List、Set 等集合框架在 JDK 1.5 以上的版本中都应加上泛型参数,像 Map 应为 Map<K, V>,K 表示键的类型、V 表示值的类型,比如说 HashMap<String, String> map = new HashMap<String, String>(); ,只能存放键为 String 类型,值为 String 的数据了,不能存放其他类型的数据,在取出数据时也可以不用进行强制类型转换了,增强了数据的安全性。

使用泛型也有助于使用 foreach 进行遍历,

for(Map.Entry<String, String> entry : map.entrySet()) {
  System.out.println(entry.getKey() + " --> " + entry.getValue());
}

不建议采用楼上三位的方法,不要忽略警告。


讲的好,支持
不能飞的肥燕 2007-08-16
  • 打赏
  • 举报
回复
可以将你的编译器换成1。4
或者不管它
Eclipse默认的警告可以不管的。
不过偶还是比较喜欢把所以的警告改正一下:)

62,623

社区成员

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

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