黑马程序员——学习笔记11.JDK1.5新特性
来源:互联网 发布:mac 虚拟机发热严重 编辑:程序博客网 时间:2024/05/19 11:49
静态导入
JDK 1.5 增加的静态导入语法用于导入类的某个静态方法或者所有静态方法。使用静态导入可以简化程序对类静态方法的调用。
语法:
import static 包名.类名.*
import static 包名.类名.静态方法
例如:
import static java.lang.System.out
import static java.lang.Math.*
import static java.lang.Math.min
代码演示:
import static java.lang.System.out;import static java.lang.Math.*;public class Demo { public static void main(String[] args) {// 普通写法System.out.println("hello world");int max = Math.max(100, 200);System.out.println(max);// 静态导入out.println("hello world");int max2 = max(100, 200);System.out.println(max2);}
可变参数
从JDK 5开始, Java 允许为方法定义长度可变的参数。
格式:数据类型…变量名。
例如: Arrays中的方法asList(T…a)是jdk中的典型应用。
书写格式:
public int add(int...args){
//这里的int是数据类型,args就变量,其实就是int类型数组的引用变量。
int sum = 0
for(int i :args){
sum = sum +i;
}
return sum;
}
注意:
1.在一个方法中,最多只能有一个可变参数。可变参数只能放在参数列表的最后面。
2.当使用可变参数时,可以传0或多个参数。当使用可变参数时,也可以传一个数组进去,就表示多个参数。
3 在方法内部使用时,就是在使用一个数组。当调用时没有传参数时(传了0个),这时在方法内部的参数数组是有值的(不为null),但长度为0.
增强for循环
书写格式:for ( type 变量名:集合变量名 ) { … }
注意:增强for循环只是遍历这个数组或是实现Interator接口的集合,并不能改变其内部元素的值,只是给这个这个集合中的每个元素做了个标记而已
代码演示:
int[] arr1 = {1,2,3,4,5};int[] arr2 = {1,2,3,4,5};for (int i = 0; i < arr.length; i++) {arr1[i]= 6;}//只能起到迭代的作用,是操作这个数组的副本for (int i : arr2) {i = 6;}System.out.println(Arrays.toString(arr1));//结果为[6,6,6,6,6]System.out.println(Arrays.toString(arr2));//结果为[1,2,3,4,5]
自动拆箱装箱
自动装箱:是把一个基本数据类型直接赋给对应的包装类。
自动拆箱:是把一个包装类对象直接赋给对应的基本数据类型。
例:Integer num1 = 12;//装箱的过程
System.out.println(num1 + 12);//拆箱的过程
List list = new ArrayList();
list.add(1);//装箱
list.add(new Integer(1));//正常语法
int i=list.get(0);//拆箱
基本数据类型包装类
Byte
byte
Short
short
Integer
int
Long
long
Boolean
boolean
Float
float
Double
double
Character
char
对象变基本数据类型:拆箱
基本数据类型包装为对象:装箱
注意:Integer类的设计涉及一个设计模式:享元模式(flyweight)
享元模式:有很多小的对象,它们有很多属性相同,把它们变成一个对象。那些不同的属性变成方法的参数,称作外部状态。相同的属性称作为内部状态
例如: Integer num1 = 12;
Integer num2 = 12;
System.out.println(num1 == num2);//true
Integer num3 = 129;
Integer num4 = 129;
System.out.println(num3 == num4);//false
Integer num5 = Integer.valueOf(12);
Integer num6 = Integer.valueOf(12);
System.out.println(num5 == num6);//true
如果Integer对象内容值在-128 ~127 范围内,这样的Integer对象都指向同一个引用变量。
----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
- 黑马程序员——学习笔记11.JDK1.5新特性
- 黑马程序员 — JDK1.5 新特性
- 黑马程序员—jdk1.5新特性
- 黑马程序员_学习笔记第17天——Collections、jdk1.5新特性
- 黑马程序员_学习笔记第16天——Collections、jdk1.5新特性
- 黑马程序员 java学习笔记 Day9:JDK1.5新特性
- 黑马程序员———JDK1.5新特性
- 黑马程序员——JDK1.5新特性
- 黑马程序员——JDK1.5的几个新特性
- 黑马程序员——jdk1.5新特性
- 黑马程序员——jdk1.5新特性
- 黑马程序员——JDK1.5新特性
- 黑马程序员——jdk1.5新特性
- 黑马程序员——JDK1.5新特性
- 黑马程序员——java之JDK1.5新特性
- 黑马程序员——java--JDK1.5新特性
- 黑马程序员——高新技术--jdk1.5新特性
- 黑马程序员——JDK1.5新特性
- javafx小发现
- 导航引擎结构分析之二
- 产品经理、架构师该读读这本书
- C.Interface.And.Implementations—dynamic arrays的实现
- ZOJ-2478
- 黑马程序员——学习笔记11.JDK1.5新特性
- 实时开发框架Meteor API解读系列<一> Meteor.methods
- hdu 3667 Transportation(最小费用流+拆边)
- Android代码调试工具 traceview 和 dmtracedump的波折演绎 .
- JAVA多线程---好的博客资源收集
- IOS发送Email的步骤
- PHP采集利器:Snoopy 试用心得
- Grid Infrastructure Single Client Access Name (SCAN) Explained (文档 ID 887522.1)
- linux 下安装、使用 redis