麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

java jdk5的泛型聲明

2019-11-17 04:10:29
字體:
供稿:網(wǎng)友

泛型聲明就是泛泛的聲明類型。我們用其它的語言做一個比較:
javascript聲明變量: var i= 1;var c = ‘char ’
VB 聲明變量: dim i=1;dim c=’char’
Perl 聲明變量: $i = 1; $c = ‘char’
這些腳本語言,在聲明變量的時候,根本就不想java那樣還得聲明類型。他們的類型已經(jīng)自己聲明完了,是泛泛的聲明的,這些語言本身就是泛型。因為數(shù)據(jù)類型可能會改變,所以用不著像java定的那么死。但是數(shù)據(jù)類型可不是說變就變的,java的強(qiáng)類型機(jī)制,保證了邏輯的嚴(yán)謹(jǐn)性,而且確保著程序員犯錯誤,這是java的優(yōu)點。同時使得它開發(fā)起來沒有上述語言那樣簡單,一點小事上做起來都很笨拙。這是其中一個方面,另一個方面如我們上節(jié)講的java的集合類里面的類型是不確定的,放什么都行啊。這樣的話你明明自己放進(jìn)去的類型,也就是說你自己已經(jīng)知道類型了,拿出來的時候,還得不斷的轉(zhuǎn)換。我們在介紹拆箱與裝箱機(jī)制的時候已經(jīng)說過這個類型的問題了。拆箱與裝箱確實能解決不少問題但那是不夠的。
所以接著上節(jié)課學(xué)集合類的勁頭,趁熱打鐵。我們講一下剛才說的第二個方面,關(guān)于集合類的問題。我們剛才說,java這種類型安全之下的破綻,我們要用泛型的方式來彌補(bǔ)。我們來實踐一個例子。實踐:
import java.io.IOException;
import java.io.PRintStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class GenericsTester {
public void testTypeSafeMaps(PrintStream out) throws IOException {
Map<Integer, Integer> squares = new HashMap<Integer, Integer>();
for (int i=0; i<100; i++) {
squares.put(i, i*i);
}
for (int i=0; i<10; i++) {
int n = i*3;
out.println(n + "的平方是" + squares.get(n));
}
}
//測試安全的鏈表
public void testTypeSafeLists(PrintStream out) throws IOException {
List listOfStrings = getListOfStrings();
for (Iterator i = listOfStrings.iterator(); i.hasNext(); ) {
String item = (String)i.next();
}
List<String> onlyStrings = new LinkedList<String>();
onlyStrings.add("Legal addition");
/**
* Uncomment these two lines for an error
onlyStrings.add(new StringBuilder("Illegal Addition"));
onlyStrings.add(25);
*/http://bizhi.VeVb.com/
}
public void testTypeSafeIterators(PrintStream out) throws IOException { //初始化迭代
List<String> listOfStrings = new LinkedList<String>();
listOfStrings.add("Happy");
listOfStrings.add("Birthday");
listOfStrings.add("To");
listOfStrings.add("You");

for (Iterator<String> i = listOfStrings.iterator(); i.hasNext();) {
String s = i.next();
out.println(s);
}
printListOfStrings(getListOfStrings(), out);
}
//得到普通鏈表
private List getList() {
List list = new LinkedList();
list.add(3);
list.add("Blind");
list.add("Mice");
return list;
}
//得到安全的鏈表
private List<String> getListOfStrings() {
List<String> list = new LinkedList<String>();
list.add("Hello");
list.add("World");
list.add("How");
list.add("Are");
list.add("You?");
return list;
}
public void testTypeSafeReturnValues(PrintStream out) throws IOException {
List<String> strings = getListOfStrings();
for (String s : strings) {
out.println(s);
}
} //接受參數(shù)化類型的鏈表
private void printListOfStrings(List<String> list, PrintStream out)
throws IOException {
for (Iterator<String> i = list.iterator(); i.hasNext(); ) {
out.println(i.next());
}
}
public void printList(List<?> list, PrintStream out) throws IOException { for (Iterator<?> i = list.iterator(); i.hasNext(); ) {
out.println(i.next().toString());
}
}
public static void main(String[] args) {
GenericsTester tester = new GenericsTester();
try {
tester.testTypeSafeLists(System.out);
tester.testTypeSafeMaps(System.out);
tester.testTypeSafeIterators(System.out);
tester.testTypeSafeReturnValues(System.out);

List<Integer> ints = new LinkedList<Integer>();
ints.add(1);
ints.add(2);
ints.add(3);
tester.printList(ints, System.out);
} catch (Exception e) {
e.printStackTrace();
}
}
}
在List和Map類的后面有個<>的參數(shù),這個參數(shù)表示集合類里面的元素類型。List<String>就是表示,List里面的元素都是String類型的。這樣我們就可以在事先確定List的類型了,省著大家一起做項目的時候。只知道List里面有什么還得問寫的那個人,你同事寫完了還得給你講那里面是什么,這回你看著方法名就全知道了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美伦理一区二区 | 日本欧美一区二区三区视频麻豆 | 亚州成人在线观看 | 二区三区四区视频 | 亚洲免费视频大全 | 2019天天干夜夜操 | 久久αv | 毛片电影网址 | www.9191.com| 毛片韩国 | 国产亚洲精品久久久久久久久久 | 中文字幕国产亚洲 | 久久久久国产一区二区三区不卡 | 99亚洲伊人久久精品影院红桃 | 成人福利软件 | 91av爱爱| 在线看免费的a | 国产一级二级在线播放 | 毛片在哪里看 | 久久久久国产一区二区三区不卡 | 国产一级毛片高清视频 | 色域tv| 黄网站在线播放视频免费观看 | 久久国产精品久久久久久久久久 | 高清一区二区在线观看 | 视频一区二区三区在线播放 | 久久久久国产一区二区三区不卡 | 国产成人综合在线观看 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 免费一级特黄欧美大片勹久久网 | 91精品免费观看 | 久久激情小视频 | 亚洲aⅴ在线观看 | 99re久久最新地址获取 | 欧美精品久久久久久久久久 | 综合网天天射 | 亚洲精品成人av在线 | 日韩毛片网 | 激情在线视频 | 国产91亚洲精品一区二区三区 | 国产精品一区2区3区 |