| 網(wǎng)站首頁 | 關(guān)于我們 | 開發(fā)優(yōu)勢 | 產(chǎn)品展示 |
| 合作企業(yè) | 新聞動態(tài) | 聯(lián)系我們 | 電話聯(lián)系 |
文章作者:濟南軟件開發(fā) 時間:2016年12月20日
集合的泛型版本,尤其是set、list和map接口及implementation類的使用
該代碼不使用泛型:
List li = new ArrayList();
li.put(new Integer(3));
Integer i = (Integer) li.get(0);
該代碼不使用泛型:
List<Integer> li = new ArrayList<Integer>();
li.put(new Integer(3));
Integer i = li.get(0);
當聲明或者實例化一個泛型的對象時,必須指定類型參數(shù)的值: Map<String, String> map = new HashMap<String, String>();
List<>
List<String> list = newArrayList<String>();list.add(rs.getString("ZJHM"));
.List<Bank> list = newArrayList<Bank>();
Map 提供了一個更通用的元素存儲方法。 Map 集合類用于存儲元素對(稱作“鍵”和“值”),其中每個鍵映射到一個值
Map接口用于維護鍵/值對(key/value pairs)。該接口描述了從不重復(fù)的鍵到值的映射。
Map接口
實現(xiàn)了Map接口的類用來存儲鍵-值對。
Objectput(Object key,Object value);//如果key已經(jīng)存在,則返回原key的值value
Objectget(Object key);
Objectremove(Object key);
booleancontainsKey(Object key);
booleancontainsValue(Object value);
int size();
booleanisEmpty();
voidputAll(Map t);
voidclear();
implementation類
interface接口,只列出方法,而不實現(xiàn),具體實現(xiàn)在其子類中
implementation,實現(xiàn)接口,表示子類實現(xiàn)了怎樣的接口或父類
"=="和equals方法有什么區(qū)別
==是判斷兩個變量或?qū)嵗遣皇侵赶蛲粋€內(nèi)存空間
equals是判斷兩個變量或?qū)嵗赶虻膬?nèi)存空間的值是不是相同
==是指對內(nèi)存地址進行比較
equals()是對字符串的內(nèi)容進行比較
==操作符專門用來比較變量的”內(nèi)容”或者”實質(zhì)”是否相等的;
==是”內(nèi)容”(或?qū)嵸|(zhì)),而equals是表象
正確使用 hashCode 和 equals 方法
hashCode()和equals()定義在Object類中,這個類是所有java類的基類,所以所有的java類都繼承這兩個方法。
hashCode()方法被用來獲取給定對象的唯一整數(shù)。這個整數(shù)被用來確定對象被存儲在HashTable類似的結(jié)構(gòu)中的位置。
重寫equals()方法必須要重寫hashCode()方法。
正確選用集合類和接口包括comparable接口
JAVA集合類-用集合(Collection)
Java.lang.Comparable接口中唯一的方法是compareTo(),在該方法中可以進行簡單的相等比較以及執(zhí)行順序比較
定義、實例化和啟動新線程
java.lang.thread—run() 直接new即可
java.lang.runnable—run() 用Thread的構(gòu)造方法
濟南軟件開發(fā)公司注意:對Java來說,run()方法沒有任何特別之處。像main()方法一樣,它只是新線程知道調(diào)用的方法名稱(和簽名)。因此,在Runnable上或者Thread上調(diào)用run方法是合法的。但并不啟動新的線程。
Processfinishedwithexitcode0
濟南軟件開發(fā)公司對于上面的多線程程序代碼來說,輸出的結(jié)果是不確定的。其中的一條語句for(longk=0;k<100000000;k++);是用來模擬一個非常耗時的操作的。
JAVA Formatter
我要輸出一個當前時間的年月日時間格式的字符串
2013-04-2822:20:12
一般而言我們可能會這么干
SimpleDateFormat dateFormater= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal =Calendar.getInstance();
System.out.println(dateFormater.format(cal.getTime()));
System.out.println(String.format("%1$tF%1$tT", Calendar.getInstance()));
String s =String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
包含三個格式說明符"%1$tm"、"%1$te" 和 "%1$tY",它們指出應(yīng)該如何處理參數(shù)以及在文本的什么地方插入它們
轉(zhuǎn)換 參數(shù)類別 說明
'b', 'B' 常規(guī) 如果參數(shù) arg 為 null,則結(jié)果為"false"。如果 arg 是一個boolean 值或 Boolean,則結(jié)果為String.valueOf() 返回的字符串。否則結(jié)果為 "true"。
'h', 'H' 常規(guī) 如果參數(shù) arg 為 null,則結(jié)果為"null"。否則,結(jié)果為調(diào)用 Integer.toHexString(arg.hashCode())得到的結(jié)果。
's', 'S' 常規(guī) 如果參數(shù) arg 為 null,則結(jié)果為"null"。如果 arg 實現(xiàn)Formattable,則調(diào)用 arg.formatTo。否則,結(jié)果為調(diào)用 arg.toString() 得到的結(jié)果。
'c', 'C' 字符 結(jié)果是一個 Unicode 字符
'd' 整數(shù) 結(jié)果被格式化為十進制整數(shù)
'o' 整數(shù) 結(jié)果被格式化為八進制整數(shù)
'x', 'X' 整數(shù) 結(jié)果被格式化為十六進制整數(shù)
'e', 'E' 浮點 結(jié)果被格式化為用計算機科學(xué)記數(shù)法表示的十進制數(shù)
'f' 浮點 結(jié)果被格式化為十進制數(shù)
'g', 'G' 浮點 根據(jù)精度和舍入運算后的值,使用計算機科學(xué)記數(shù)形式或十進制格式對結(jié)果進行格式化。
'a', 'A' 浮點 結(jié)果被格式化為帶有效數(shù)和指數(shù)的十六進制浮點數(shù)
't', 'T' 日期/時間 日期和時間轉(zhuǎn)換字符的前綴。請參閱日期/時間轉(zhuǎn)換。
'%' 百分比 結(jié)果為字面值 '%' ('\u0025')
'n' 行分隔符 結(jié)果為特定于平臺的行分隔符
JAVA Scanner
Scanner是SDK1.5新增的一個類,可是使用該類創(chuàng)建一個對象.
Scanner reader=newScanner(System.in);
然后reader對象調(diào)用下列方法(函數(shù)),讀取用戶在命令行輸入的各種數(shù)據(jù)類型:
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot()
java.util.Locale
Locale確定了一種專門的語言和區(qū)域.通過使用java.util.Locale對象來為那些區(qū)域敏感型的對象定制格式化數(shù)據(jù)以及向用戶的展示.
Locale類有如下幾個構(gòu)造器:
. Locale(String language)
. Locale(String language, Stringcountry)
. Locale(String language, Stringcountry, String variant) 濟南軟件開發(fā)公司
想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。