import java.util.*;class xt{

public static void main(String in[]){
LinkedList ll=new LinkedList();

tt tto=new tt();


ll.add(tto);


System.out.println(ll.size());

}
}class tt{
int ttt=1000;
}编译时提示使用了不安全的操作,要求使用"-Xlint:unchecked"参数。
我想问一下:
1. 出现这种提示的原因?
2. 怎样才会不出现这种提示?谢谢!

解决方案 »

  1.   

    第二个
    加上泛型就可以通过编译了import java.util.*;class xt{
        
        public static void main(String in[]){
            LinkedList<tt> ll=new LinkedList<tt>();
            
            tt tto=new tt();
                    
            
            ll.add(tto);
                    
            
            System.out.println(ll.size());
            
        }
    }class tt{
        int ttt=1000;
    }
      

  2.   

    1:-Xlint:unchecked启动未经检查转换的警告,出现它是因为使用了不安全或未经检查的操作,涉及到Generic Type,你的程序里的List声明没有加泛型参数
    2:把你程序里List的声明改为
    LinkedList<tt> ll=new LinkedList<tt>();就可以解决了  
      

  3.   

    也可以用命令
    javac xt.java -Xlint:unchecked
      

  4.   

    2楼finally:能帮我讲解一下
    LinkedList<tt> ll=new LinkedList<tt>();
    这种用法吗?"类名"+"<...>"
    类名加一个尖括号,我的书上没有这个内容,我也没查到这方面的资料。
    这种用法都用在哪些场合,除了设置泛型还有其他用处吗?
    还有,哪些情况下要声明泛型呢?
    大概讲一下就行,
    知道个意思就行,不一定要很详细。
    谢谢!
      

  5.   

    方法前面加上@SuppressWarnings("unchecked")也能解决
      

  6.   

    "类名"+" <...>" 
    这个是JDK1.5的
    就是所谓的泛型
    比如LinkedList<tt> a说明了他这里面装的是tt对象
    当你拆箱时
    tt t = a.get(0);这样就OK了
    不需要以前那样tt t = (tt)a.get(0);
      

  7.   

    泛型机制,类似于C++中的模板,但是在运行时会被擦除成原生类型。
    泛型是java se 1.5的新特性,泛型的本质是参数化类型,也就是说操作的数据类型被指定为一个参数。这种参数类型可以用在类,接口和方法的创建中,分别成为泛型类,泛型接口,泛型方法。
    Java引入泛型的好处是安全简单。
    在Java se 1.5之前,没有泛型的情况下,通过对类型Oject的引用来实现参数的任意化,任意化带来的缺点是要做现实的强制类型转换,而这种类型转换时要求开发者对实际参数类型可以预知的情况下进行的,这是一个安全隐患。泛型的好处就是在编程的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
    但是java的泛型机制是基于擦除实现的,因为在java1.0里面没有泛型机制,所以在java1.5加入泛型为了维护以前的代码,就是用了擦除,所以说在运行的时候JVM是不知道什么泛型的,所有的泛型参数都被擦除为它的原生类型
    泛型是java的基本语法,建议LZ找本书,好好的学习一下,这个是必须掌握的