zoukankan      html  css  js  c++  java
  • <转>java编译问题:使用了未经检查或不安全的操作

    使用了未经检查或不安全的操作

    在本人用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());
            }
        }
    }

    然后查找到以下原因,这是转自别人的。

     
    在编译java源文件时,你使用的是jdk1.5或以上时,可能出现这个问题。(使用了未经检查或不安全的操作;请使用 -Xlint:unchecked 重新编译。) 
    原因是jdk1.5里的集合类的创建和jdk1.4里有些区别,主要是jdk1.5里增加了泛型,也就是说可以对集合里的数据进行检查。在jdk1.5以前,如果没有指定参数类型,则 JDK 1.5 编译器由于无法检查 给出的参数是否合乎要求,而报告 unchecked 警告,这并不影响运行。按照提示,编译是指定参数即可取消这样的警告。或者为其制定类型参数。
    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());
            }
        }
    }

    问题消除

  • 相关阅读:
    【原创】Java与数据结构(上篇:排序算法)
    【九度OJ】题目1084:整数拆分
    kaixin001接入
    Facebook接入(下)
    svn手册摘录
    Facebook接入(上)
    使用mysqldb从数据库中导出xml
    使用cmd模块,让脚本更舒服些
    django 的简单测试
    python字符串替换
  • 原文地址:https://www.cnblogs.com/adaonling/p/3586290.html
Copyright © 2011-2022 走看看