Java JDK5新特性-泛型】的更多相关文章

2017-10-30 22:47:11 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 泛型是一种把类型的明确工作推迟到创建对象或者调用方法的时候才去明确的特殊类型. 注意:类型参数只能代表引用型类型,不能是原始类型(像int,double,char的等). 泛型出现的原因 早期的时候,使用Object来代表任意类型.但是这样在…
2017-10-31 00:10:50 静态导入格式:import static 包名 ...类名.方法名: 也就说可以直接导入到方法名. 注意: 方法必须是静态的 如果有多个同名的静态方法,容易不知道使用的是谁,这个时候要使用的话,必须加上前缀.所以一般不使用这种静态导入 import static java.lang.Math.abs; public class Demo2 { public static void main(String[] args) { abs(-1); } }…
2017-10-31 00:19:07 可变参数:定义方法的时候不知道该定义多少个参数 格式:修饰符 返回值类型 方法名(数据类型... 变量名){} 注意:这里的变量其实是一个数组           如果有可变参数,那么该可变参数肯定是最后一个 public static int sum(int... a) { int rst=0; for(int i:a) rst+=i; return rst; }…
2017-10-31 00:02:16 格式: for(元素数据类型 变量:数组或者Collection集合) { 使用变量即可,该变量即是元素 } int arr[] = {1,2,3,4,5}; for(int i:arr) { System.out.println(i); } 好处:简化了数组和集合的遍历 弊端:增强for的目标不能是null…
JDK5新特性         自动拆装箱.泛型.增强for.静态导入.可变参数.枚举   1.增强for概述         1)简化数组和Collection集合的遍历         2)格式:             for(元素数据类型 变量 : 数组或者Collection集合) {          使用变量即可,该变量就是元素              } 3)好处:简化遍历 4)注意事项:增强for的目标要判断是否为null 例子1: package jdk5; import…
反射(类的加载概述和加载时机) 反射(类加载器的概述和分类) 反射(反射概述) 反射(Class.forName()读取配置文件举例) 反射(通过反射获取带参构造方法并使用) 反射(通过反射获取成员变量并使用) 反射(通过反射获取方法并使用) 反射(通过反射越过泛型检查) 反射(通过反射写一个通用的设置某个对象的某个属性为指定的值) 反射(练习) 反射(动态代理的概述和实现) 设计模式(模版(Template)设计模式概述和使用) JDK5新特性(自己实现枚举类) JDK5新特性(通过enum实…
 JDK5新特性目录导航: 自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 ProcessBuilder 内省 线程并发库(JUC) 监控和管理虚拟机 元数据 自动拆装箱 Java数据类型分两种:基本数据类型 和  引用数据类型(对象) 有时候我们需要将基本数据类型包装为对象进行处理 在JKD5以前我们的处理方式: //int 转换为 Integer int i = 10; Integer integer = new Integer(i); //Inte…
Java 8新特性探究 前言 https://my.oschina.net/benhaile/blog/174136 讲下java的历史 感觉挺好的. 评论 17 jdk8java8javase新特性 撸了今年阿里.网易和美团的面试,我有一个重要发现.......>>> 自2013年6月13日,oracle就已经发布的Java 8特性完备版本(M7),但最终GA版本将在2014年3月18日(已第二次跳票,原计划今年9月发布的,据官网宣称是为了解决安全问题......),相信大家多多少少都…
快端午小长假了,要上线的项目差不多完结了,终于有时间可以坐下来写篇博客了. 这是篇对我看到的java 8新特性的一些总结,也是自己学习过程的总结. 几乎可以说java 8是目前为止,自2004年java 5发布以来的java世界中最大的事件了.它带来了java语言层面上的诸多改变,主要包括下面一些方面:语法.编译器.库.工具和运行时. 一,语法层面: 1,Lambda表达式. lambda表达式是一种可调用对象,它允许我们将函数作为函数参数传入.诸如C++.Groovy.Scala都已经支持la…
可变参数的方法:不知道这个方法该定义多少个参数 注意: > 参数实际上是数组 > 必须写在参数列表最后一个 package cn.itcast.day24.varparam; import java.lang.reflect.Type; /** * * JDK5新特性之 可变参数 * 定义方法时,不知道该定义多少个参数 * * 格式: * 修饰符 方法返回值 方法名(数据类型 ... 变量名){} * * 注意: * 可变参数实际上是一个数组 * 可变参数必须写在方法的参数列表的最后 * */…