黑马程序员-JAVA基础加强-新特性简介

------- android培训java培训、期待与您交流! ---------

静态导入、可变参数、自动拆箱与装箱和享元模式

StaticImport  静态导入。
    当类名重名时,需要指定具体的包名。
    当方法重名时,指定具备所属的对象或者类。
    import后面跟Static时导入的是某个类的所有静态成员,导入后调用方法时可以省略类名。
import java.util.*;
import static  java.util.Arrays.*;//导入的是Arrays这个类中的所有静态成员。
import static java.util.Collections.*;
import static  java.lang.System.*;//导入了System类中所有静态成员。
class  StaticImport //extends Object
{
	public static void main(String[] args) 
	{
		out.println("haha");
		int[] arr = {3,1,5};
		sort(arr);//Arrays.导入静态后省略
		int index = binarySearch(arr,1);
		out.println(Arrays.toString(arr));//不能省略Arrays.因为Object里面也有toString方法,所以需要指定
		System.out.println("Index="+index);
		ArrayList al = new ArrayList();
		al.add(1);		
		out.println(al);
		sort(al);
		out.println(al);
	}
可变参数:  
    public static int add(int x,int ...args)//...就是可变参数
可变参数的特点:
    只能出现在参数列表的最后
    ...位于变量类型和变量之间,前后有无空格都可以
    调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
public static void main(String[] args) 
{
		// TODO Auto-generated method stub
		System.out.println(add(1,2,3,5));
		System.out.println(add(2,3,5));		
}
	
	public static int add(int x,int ...args) 
	{
		int sum = x;
		for(int i=0;i<args.length;i++) 
		{
			sum += args[i];
		}
		return sum;
	}
增强for循环
语法:
    for ( type 变量名:集合变量名 ) { … }
注意事项:
    迭代变量必须在( )中定义!
    集合变量可以是数组或实现了Iterable接口的集合类
举例:
public static int add(int x,int ...args) 
{
    int sum = x;
    for(int arg:args) 
   {
    sum += arg;
   }
   return sum;
}  
自动拆箱与装箱
    Integer x=4//自动装箱相当于Integer x=new Integer(4)
    x=x+2;//x+2,x进行自动拆箱,变成了int类型。拆箱的过程相当于调用x.intvalue()和2进行加法运算,在将他们的和进行装箱赋给x.
    Integer m = 129;
    Integer n = 129;
    System.out.println("m==n:"+(m==n));//结果为flase,因为越界开辟了新空间,因为byte的范围是-127—127.
享元模式 
    将那些值比较小的整数、a-z,26个字母缓存起来放入常量池,当其他地方用到该常量或组成各个单词时,直接调用而不重新新建对象。
    有很多小的对象,它们有很多属性相同,把它们变成一个对象,那些不同的属性把他们变成方法的参数称之为外部状态。那些相同的属性称之为对象的内部状态。


------- android培训java培训、期待与您交流! ---------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值