public class Generic {
public static void main(String[] args) {
//
/*ArrayList不使用泛型
好處:1.在add時,可以存儲任何數據類型
壞處:1.在需要使用存儲數據類型的時候需要向下轉型,如果沒有做instanceof 就容易報ClassCastException
* */
/*ArrayList使用泛型
好處1.將運行期可能出現的問題提前的到編譯器,如ArrayList的泛型是String就只能存儲String類型,存儲別的類型就會報錯
2.可以使用泛型中數據類型特有的方法:
壞處1.只能存儲一種類型的數據
* */
//不使用泛型
demo01();
//使用泛型
demo02();
}
private static void demo02() {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("天才");
arrayList.add("第一步");
arrayList.add("天才");
Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext()){
String next = iterator.next();
System.out.println(next);
System.out.println(next.length());//String特有的方法
}
}
private static void demo01() {
ArrayList arrayList = new ArrayList();
arrayList.add("天才");
arrayList.add("第一步");
arrayList.add(1235);
arrayList.add(true);
Iterator iterator = arrayList.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
if (next instanceof String){
String a=(String) next;
int length = a.length();
System.out.println(length);
}
}
}
}