Java 不同版本更新总结
来源:互联网 发布:淘宝卖家违规几次封号 编辑:程序博客网 时间:2024/05/18 18:00
面试时候虽没有被问到,但是感觉在相关问题上丢了面试分,在此总结一下。
参考 Reference
http://pwosboy.iteye.com/blog/118756
http://hanhg.iteye.com/blog/291956
http://pengcqu.iteye.com/blog/499749
Java 1.5
1. Generic
在之前版本,如果声明的时候没有特别指出class,比如ArrayList list = new ArrayList(),那么取出数据的时候需要对其进行类型转换。
list.add(new Integer(3));Integer temp = (Integer)list.get(0);现在
ArrayList<Integer> list = new ArrayList<Integer>();
注意一下下列这种情况
public <T extends Comparable> T max(T t1, T t2) {if (t1.compareTo(t2) > 0)return t1;elsereturn t2;}void printCollection(Collection<?> c) {// Collection<?>, collection of unknownfor (Object e : c) {System.out.println(e);}}// 可以传入各种类型的Collection,如果是Collection<Object>则不能这么用,因为“若Foo是Bar的一个子类型(子类或子接口), G是某个泛型声明, 则G<Foo>并不是G<Bar>的一个子类型”
2. For each
ArrayList<Integer> list = new ArrayList<Integer>();list.add(new Integer(3));list.add(new Integer(4));for(Integer temp : list){ System.out.println(temp.intValue());}3. Autoboxing/unboxing
自动装包:基本类型自动转为包装类.(int >> Integer)
自动拆包:包装类自动转为基本类型.(Integer >> int)
int a = 3;Collection<Integer> c = new ArrayList<Integer>();c.add(a);//自动转换成Integer.Integer b = new Integer(2);c.add(b + 2);//这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.4. enum
public enum Color{Red,White,Blue}for (Color c : Color.values())System.out.println(c);5. Varargs
public void write(Object... objs) {for (Object obj: objs)System.out.println(obj);}6. Static Imports
import static java.lang.Math.*;…….r = sin(PI * 2); //无需再写r = Math.sin(Math.PI);
Java 1.6
1. Class Desktop && Class SystemTray
2. JAXB2
3. StAX (DOM, SAX)
4. Compiler API
5. Http Server API
6. Pluggable Annotation Processing API
7. java.io.Console
8. Support script language: Ruby, Groovy, Javascript
9. Common Annotations
1.7
1.集合的支持
List< String> list = ["item"];String item = list[0];Set< String > set = {"item"};Map< String,Integer > map = {"key" : 1};int value = map["key"];2. 资源自动回收管理
之前:
BufferedReader br = new BufferedReader(new FileReader(path));try { return br.readLine();} finally { br.close();}
Java 1.7:
try (BufferedReader br = new BufferedReader(new FileReader(path))) { return br.readLine();}3. Generic simplified
Map<String,String> hello = new Map<>();
4. 数字中的下划线
待研究
5. switch case支持String. Remember to check if null before parse String
6. Binary symbol
int binary = 0b1001_1001;
7. Catch mutiple exception types
try {do something;}catch(IOException | NullPointerException | ..........) {do something;}
- Java 不同版本更新总结
- java不同版本特性
- 更新ecplise-java版本
- java版本更新历史
- 企业级账号 版本更新总结
- mac java不同版本切换
- Java Web学习总结(26)——Servlet不同版本之间的区别
- linux下 更新 java版本
- Mac系统更新JAVA版本
- JAVA各版本更新特性
- 更新mac的java版本
- Servlet 2.2 2.3 2.4 不同版本间的更新
- Android不同版本统计数据更新:Android 4.0份额为0.6%
- [ios]获取app版本更新检测的不同语言信息
- jdk版本更新的新特性总结
- linux 不同java版本之间的切换
- Mac上新版本不同JAVA版本切换
- VC6和VS2010运行的不同总结(持续更新)
- Codeforces Round #215 (Div. 2) -A. Sereja and Coat Rack
- [ javascript ] UEditor单独图片上传组件!适用IE,Chrome,firefox.
- 换行符 \n\r
- SQLiteDatabase中query、insert、update、delete方法参数说明
- java中volatile关键字的含义
- Java 不同版本更新总结
- struts2整合JFreechart 饼图、折线图、柱形图
- HTTP POST GET 本质区别详解
- 泛型编程笔记(re迭代)
- struts2整合jfreechart
- 容器类(1)Vector(re迭代)
- 网站模板收藏
- UVa 10994 Simple Addition (组合数学)
- JSTL 核心标签库 使用