Java 基础加强

来源:互联网 发布:java需求分析主要干啥 编辑:程序博客网 时间:2024/06/17 07:53

静态导入

package com.wjz;import static java.lang.System.out;import static java.util.Arrays.*;import java.util.List;public class 静态导入 {    public static void main(String[] args) {        // public final static PrintStream out = nullPrintStream(); 静态方法        out.println("123");        // 导入静态属性或方法        String[] strings = {"a","b"};        List<String> list = asList(strings);        sort(strings);    }}

自动装箱和拆箱

装箱:基本类型–>包装类型
拆箱:包装类型–>基本类型

public class 自动装箱和拆箱 {    public static void main(String[] args) {        //**** JDK 5.0 之前        //Integer i = 10;// 不能用        //Integer i = new Integer(10);// 可以        //Integer i = Integer.valueOf(10);// 优雅        //int ii = i;// 不能用        //int ii = i.intValue();// 可用        //**** JDK 5.0 之后        Integer i = 10;// 装箱,底层代码调用 Integer i = Integer.valueOf(10);        int ii = i;// 拆箱,底层代码调用 int ii = i.intValue();        //**** 应用        List list = new ArrayList();        /* JDK 1.5 之前        list.add(new Integer(10));        int j = ((Integer)list.get(0)).intValue();        */        //**** JDK 5.0 之后        list.add(10);        int j = (Integer) list.get(0);        Integer q = null;        //int w = q; // 空指针异常        /*        Java的规范指出:特定的基本类型一定得被box成相同的包装类型。         这些对象会被 高速缓存 以 重复 使用,并且会被当做一般对象使用。         这些特殊的值是:        boolean值的true和false、         所有的byte值、         介于-128至127的short与int值,         以及介于\u0000与\u007F之间的任何一个char。          */        Boolean boolean1 = true;        Boolean boolean2 = true;        System.out.println(boolean1 == boolean2); // true        Integer i1 = 100;        Integer i2 = 100;        System.out.println(i1 == i2);// true        Integer i3 = 129;        Integer i4 = 129;        System.out.println(i3 == i4);// false        int i5 = 129;        int i6 = 129;        System.out.println(i5 == i6);// true        int i7 = 100;        int i8 = 100;        System.out.println(i7 == i8);// true        Float f1 = 0.1f;        Float f2 = 0.1f;        System.out.println(f1 == f2);// false        float f3 = 0.1f;        float f4 = 0.1f;        System.out.println(f3 == f4);// true    }}

增强for循环

设计的本意:抛弃迭代器
增强型for循环 只能 遍历 数组 和 实现了iteratable接口 的对象
语法:
for(元素类型 元素名:数组或实现了iteratable接口的对象){
}
增强for的特点:
只适合遍历数据。
不适合修改或删除数据。请使用普通for循环或迭代器

可变参数

底层原理,编译器将 x… 转换为 x[] 数组

原创粉丝点击