arraylist

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arraylist相关的知识,希望对你有一定的参考价值。

import java.util.ArrayList;
import java.io.File;
public class AA


public static void main(String []args)

ArrayList al = new ArrayList ();
al.add( "dfgsdfg");
System.out.println(al);




G:\编译~1>javac AA.java
注意:AA.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
================================================
import java.util.ArrayList;
import java.io.File;
public class AA


public static void main(String []args)

ArrayList al = new ArrayList ();
al.add( "dfgsdfg");
for (int i =0; i<al.size();i++)
System.out.println(al.get(i));





结果一样

呵呵,你是想知道为什么会出现注意那两行吧。
注意:AA.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。

其实很简单。从Java5开始,Java语法引入了一个新的特性叫做范型。目的是为了类型安全考虑。
而ArrayList就是一种范型类型。

如果编译的时候不想看到这两行你可以这样
办法1:ArrayList<String> al = new ArrayList<String> ();
办法2:在public class AA的上一行添加这么一句
@SuppressWarnings("unchecked")//这个叫做注解,也是Java5的新特性

有关范型和注解的内容,可以参考<Java编程思想第四版>
参考技术A 这是JDK1.5引入泛型后的问题,关于泛型编程就说来话长了,对于当前的问题有三个解决办法。

1.编译的时候加个参数 -Xlint:unchecked

2.采用泛型编程,将下述声明:
ArrayList al = new ArrayList ();
改为:
ArrayList<String> al = new ArrayList<String>();

3.mian方法前加上一个元注释@SuppressWarnings("unchecked cast"),告诉编译器忽略强制转型的警告。本回答被提问者采纳
参考技术B System.out.println(al);
ArrayList不能这么输出

用一个for循环遍历一下吧,用al.get(i)获得其中的值

以上是关于arraylist的主要内容,如果未能解决你的问题,请参考以下文章

泛型集合

Linkedlist

Vector

hashSet

TreeSet

笔记--集合