?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
集合的泛型版?其是set、list和map接口及implementationcȝ使用
该代码不使用泛型Q?nbsp;
List li = new ArrayList();
li.put(new Integer(3));
Integer i = (Integer) li.get(0);
该代码不使用泛型Q?nbsp;
List<Integer> li = new ArrayList<Integer>();
li.put(new Integer(3));
Integer i = li.get(0);
当声明或者实例化一个泛型的对象Ӟ必须指定cd参数的| 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 集合cȝ于存储元素对Q称作“键”和“值”)Q其中每个键映射C个?/strong>
Map接口用于l护?值对(key/value pairs)。该接口描述了从不重复的键到值的映射?/strong>
Map接口
实现了Map接口的类用来存储?值对?/p>
Objectput(Object key,Object value);//如果key已经存在Q则q回原key的值value
Objectget(Object key);
Objectremove(Object key);
booleancontainsKey(Object key);
booleancontainsValue(Object value);
int size();
booleanisEmpty();
voidputAll(Map t);
voidclear();
implementationc?/strong>
interface接口Q只列出ҎQ而不实现Q具体实现在其子cM
implementationQ实现接口,表示子类实现了怎样的接口或父类
"=="和equalsҎ有什么区?/strong>
==是判断两个变量或实例是不是指向同一个内存空?/p>
equals是判断两个变量或实例所指向的内存空间的值是不是相同
==是指对内存地址q行比较
equals()是对字符串的内容q行比较
==操作W专门用来比较变量的”内容”或者”实质”是否相{的;
==是”内容?或实?,而equals是表?/p>
正确使用 hashCode ?equals Ҏ
hashCode()和equals()定义在ObjectcMQ这个类是所有javacȝ基类Q所以所有的javac都l承q两个方法?/p>
hashCode()Ҏ被用来获取给定对象的唯一整数。这个整数被用来定对象被存储在HashTablecM的结构中的位|?/p>
重写equals()Ҏ必须要重写hashCode()Ҏ?/strong>
正确选用集合cd接口包括comparable接口
JAVA集合c?用集合(CollectionQ?/p>
Java.lang.Comparable接口中唯一的方法是compareToQ)Q在该方法中可以q行单的相等比较以及执行序比较
定义、实例化和启动新U程
java.lang.thread—run() 直接new卛_
java.lang.runnable—run() 用Thread的构造方?/p>
南软g开发公司注意:对Java来说Qrun()Ҏ没有M特别之处。像main()Ҏ一P它只是新U程知道调用的方法名U?和签?。因此,在Runnable上或者Thread上调用runҎ是合法的。但q不启动新的U程?/strong>
Processfinishedwithexitcode0
南软g开发公司对于上面的多线E程序代码来_输出的结果是不确定的。其中的一条语句for(longk=0;k<100000000;k++);是用来模拟一个非常耗时的操作的?/strong>
JAVA Formatter
我要输出一个当前时间的q月日时间格式的字符?/p>
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);
包含三个格式说明W?quot;%1$tm"?quot;%1$te" ?"%1$tY"Q它们指出应该如何处理参C及在文本的什么地Ҏ入它?/p>
转换 参数cd 说明
'b', 'B' 常规 如果参数 arg ?nullQ则l果?quot;false"。如?arg 是一个boolean 值或 BooleanQ则l果为String.valueOf() q回的字W串。否则结果ؓ "true"?/p>
'h', 'H' 常规 如果参数 arg ?nullQ则l果?quot;null"。否则,l果?Integer.toHexString(arg.hashCode())得到的结果?/p>
's', 'S' 常规 如果参数 arg ?nullQ则l果?quot;null"。如?arg 实现FormattableQ则调用 arg.formatTo。否则,l果?arg.toString() 得到的结果?/p>
'c', 'C' 字符 l果是一?Unicode 字符
'd' 整数 l果被格式化为十q制整数
'o' 整数 l果被格式化为八q制整数
'x', 'X' 整数 l果被格式化为十六进制整?/p>
'e', 'E' 点 l果被格式化为用计算机科学记数法表示的十q制?/p>
'f' 点 l果被格式化为十q制?/p>
'g', 'G' 点 Ҏ_ֺ和舍入运后的|使用计算机科学记数Ş式或十进制格式对l果q行格式化?/p>
'a', 'A' 点 l果被格式化为带有效数和指数的十六进制QҎ
't', 'T' 日期/旉 日期和时间{换字W的前缀。请参阅日期/旉转换?/p>
'%' 癑ֈ? l果为字面?'%' ('\u0025')
'n' 行分隔符 l果为特定于q_的行分隔W?/p>
JAVA Scanner
Scanner是SDK1.5新增的一个类,可是使用该类创徏一个对?
Scanner reader=newScanner(System.in);
然后reader对象调用下列Ҏ(函数),d用户在命令行输入的各U数据类?
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot()
java.util.Locale
Locale定了一U专门的语言和区?通过使用java.util.Locale对象来ؓ那些区域敏感型的对象定制格式化数据以及向用户的展C?
LocalecL如下几个构造器:
. Locale(String language)
. Locale(String language, Stringcountry)
. Locale(String language, Stringcountry, String variant) 南软g开发公?/a>