java編譯時出現(xiàn)使用了未經(jīng)檢查或不安全的操作解決方法
在本人用editplus寫java文件時碰到的問題。 
import java.util.*;
class collection{
public static void main(String[] args) {
Collection c1=new ArrayList(25);
c1.add(new String("one"));
c1.add(new String("two"));
String s="three";
c1.add(s);
for (Iterator i=c1.iterator();i.hasNext();)
{
System.out.println(i.next());
}
}
}
然后查找到以下原因,這是轉(zhuǎn)自別人的。
在編譯java源文件時,你使用的是jdk1.5或以上時,可能出現(xiàn)這個問題。(使用了未經(jīng)檢查或不安全的操作;請使用 -Xlint:unchecked 重新編譯。)
原因是jdk1.5里的集合類的創(chuàng)建和jdk1.4里有些區(qū)別,主要是jdk1.5里增加了泛型,也就是說可以對集合里的數(shù)據(jù)進行檢查。在jdk1.5以前,如果沒有指定參數(shù)類型,則 JDK 1.5 編譯器由于無法檢查 給出的參數(shù)是否合乎要求,而報告 unchecked 警告,這并不影響運行。按照提示,編譯是指定參數(shù)即可取消這樣的警告?;蛘邽槠渲贫愋蛥?shù)。
List temp = new ArrayList ();
temp.add("1");
temp.add("2");
修改為
List <String> temp = new ArrayList <String> ();
temp.add("1");
temp.add("2");
然后修改代碼為
import java.util.*;
class collection{
public static void main(String[] args) {
Collection<String> c1=new ArrayList<String>(25);
c1.add(new String("one"));
c1.add(new String("two"));
String s="three";
c1.add(s);
for (Iterator i=c1.iterator();i.hasNext();)
{
System.out.println(i.next());
}
}
}
相關(guān)文章
解決idea爆紅 cant resolve symbol String的問題解析
連著出差幾個禮拜沒有使用idea開發(fā)工具,突然一天打開電腦發(fā)現(xiàn)idea里的代碼全部爆紅,懵逼不如所措,很多朋友建議我按住Alt+回車設(shè)置jdk就能解決,但是仍然報錯,經(jīng)過幾個小時的倒騰最終解決,遇到此問題的朋友參考下本文吧2021-06-06
使用Spring Boot輕松實現(xiàn)流式AI輸出的步驟
本文介紹了如何使用Spring Boot和WebFlux實現(xiàn)流式AI輸出,通過非阻塞I/O、反應(yīng)式編程和函數(shù)式路由等技術(shù),優(yōu)化了AI應(yīng)用的響應(yīng)速度,提升了用戶體驗,感興趣的朋友一起看看吧2025-02-02
理解Java注解及Spring的@Autowired是如何實現(xiàn)的
今天通過本文帶領(lǐng)大家學習注解的基礎(chǔ)知識,學習Spring的@Autowired是怎么實現(xiàn)的,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-07-07

