第 3-3 课:泛型和迭代器 + 面试题
生活随笔
收集整理的這篇文章主要介紹了
第 3-3 课:泛型和迭代器 + 面试题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
泛型
1)為什么要用泛型?
在泛型沒有誕生之前,我們經(jīng)常會(huì)遇到這樣的問題,如以下代碼所示:
ArrayList arrayList = new ArrayList(); arrayList.add("Java"); arrayList.add(24); for (int i = 0; i < arrayList.size(); i++) {String str = (String) arrayList.get(i);System.out.println(str); }看起來好像沒有什么大問題,也能正常編譯,但真正運(yùn)行起來就會(huì)報(bào)錯(cuò):
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at xxx(xxx.java:12)
類型轉(zhuǎn)換出錯(cuò),當(dāng)我們給 ArrayList 放入不同類型的數(shù)據(jù),卻使用一種類型進(jìn)行接收的時(shí)候,就會(huì)出現(xiàn)很多類似的錯(cuò)誤,可能更多的時(shí)候,是因?yàn)殚_發(fā)人員的不小心導(dǎo)致的。那有沒有好的辦法可以杜絕此類問題的發(fā)生呢?這個(gè)時(shí)候 Java 語言提供了一個(gè)很好的解決方案——“泛型”。
2)泛型介紹
泛型:泛型本質(zhì)上是類型參數(shù)化,解決了不確定對(duì)象的類型問題。
泛型的使用,請(qǐng)參考以下代碼:
總結(jié)
以上是生活随笔為你收集整理的第 3-3 课:泛型和迭代器 + 面试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第 1-7 课:数组和排序算法 + 面试
- 下一篇: 面试系列第2篇:回文字符串判断的3种方法