1、静态导入
此部分属于了解的内容,前面已经了解的静态方法与实例方法的区别,类中的态方法被其他类使用时可以通过:类名.方法名 访问。如果想在其他类中直接使用该静态方法可以通过静态导入来完成。
语法:import static 包名.类名.方法名(属性名)
静态导入缺点: 1.不方便阅读、 2.可能会引起冲突。
import static java.lang.Math.*;
public void Test(){
//System.out.Println(Math.max(10,20));
System.out.Println(max(10,20));-------静态导入
int[] a={1,2,3,4};
String mm=Array.toString(a);
//String mm=toString(a); ------静态导入出错,引起冲突,类Test本身就有toString方法。
}------了解
2、
2.自动拆箱与装箱
Integer i=10;//左边是Integer对象,右边是是整型,自动装箱。
int m=new Integer(12);//左边是整型,右边是对象,自动拆箱。---底层实现nt i=new Integer(10).intValue;
java数据类型有几种
基本----四类八种
引用
基本类型
byte-------->Byte
short------->Short
char--------->Character
int---------->Integer
long--------->Long
float-------->Float
double------->Double
boolean------Boolean
自动拆装箱:可以在基本数据类型与包装类之间进行自动转换.
-------------------------------------------------------
笔记题
Integer a = 1000;
Integer b = 1000;
System.out.println(a == b);
Integer aa = 100;
Integer bb = 100;
System.out.println(aa == bb);
//上面执行结果 第一个为false,第二个为true.
//原因: 当自动装箱时,如果其值是在-128----127之间,会从cache数组中取出一个赋值。
//如果超出这个范围,会new Integer(); 对象之间的比较。
3、动态参数
格式 :修饰符 返回值类型 方法名(参数类型... 参数名称){}
public void add(int... a){
System.out.println(a);----[I@1888759
}
p.add(10);
p.add(10,20);
p.add(new Array[]{10,20,30});
可变参数它本质上就是一个数组。
注意事项:
可变参数后面不可以后有参数.
一个方法只能有一个可变参数.
示例
Arrays.asList方法
String[] a={10,20,30};
List list=Arrays.asList(a);-
这个方法的作用是将一个数组转换成List集合.
------------------------------------------
@Test
public void fun2(){
String[] arr={"a","c","d"};
List<String> list1= Arrays.asList(arr);
System.out.println(list1);---[a, c, d]
}
@Test
public void fun2(){
int[] arr={1,2,3};
List list1= Arrays.asList(arr);
System.out.println(list1);---[[I@bb7759]
}
注意:集合中的元素全都是Object
为什么arry数组中的元素没有装到List集合中呢,arr数组中的元素是基本数据类型时,不能直接装到List中,他将arr作为元素装到List中。
考察基本类型与引用类型。