java 其他特性

来源:互联网 发布:写一个数组去重 编辑:程序博客网 时间:2024/05/17 21:43
1 :可变参数varargs(varargs number of arguments)参数类型相同时,把重载函数合并到一起了。如:public void test(object... objs){for(Object obj:objs){System.out.println(obj);}}2 :switch中可以使用字串了String s = "test"; switch (s) { case "test" : System.out.println("test"); case "test1" : System.out.println("test1"); break ; default : System.out.println("break"); break ; }3.Boolean类型反转,空指针安全,参与位运算Boolean Booleans.negate(Boolean booleanObj)True => False , False => True, Null => Nullboolean Booleans.and(boolean[] array)boolean Booleans.or(boolean[] array)boolean Booleans.xor(boolean[] array)4.两个char间的equals boolean Character.equalsIgnoreCase(char ch1, char ch2)5 安全的加减乘除 int Math.safeToInt(long value)int Math.safeNegate(int value)long Math.safeSubtract(long value1, int value2)long Math.safeSubtract(long value1, long value2)int Math.safeMultiply(int value1, int value2)long Math.safeMultiply(long value1, int value2)long Math.safeMultiply(long value1, long value2)long Math.safeNegate(long value)int Math.safeAdd(int value1, int value2)long Math.safeAdd(long value1, int value2)long Math.safeAdd(long value1, long value2)int Math.safeSubtract(int value1, int value2)6 .for-each  例如上面这个集合我们可以通过for-each遍历,这样更加简单清晰    for(String s : strs){     System.out.println(s);    }    注意:使用for-each遍历集合时,要遍历的集合必须实现了Iterator接口7 try-with-resources 是一个定义了一个或多个资源的try 声明,这个资源是指程序处理完它之后需要关闭它的对象。try-with-resources 确保每一个资源在处理完成后都会被关闭。     可以使用try-with-resources的资源有:     任何实现了java.lang.AutoCloseable 接口java.io.Closeable 接口的对象。    例如:    public static String readFirstLineFromFile(String path) throws IOException {           try (BufferedReader br = new BufferedReader(new FileReader(path))) {               return br.readLine();           }       }        在java 7 以及以后的版本里,BufferedReader实现了java.lang.AutoCloseable接口。     由于BufferedReader定义在try-with-resources 声明里,无论try语句正常还是异常的结束,    它都会自动的关掉。而在java7以前,你需要使用finally块来关掉这个对象。8 public static void first(){    try {      BufferedReader reader = new BufferedReader(new FileReader(""));      Connection con = null;      Statement stmt = con.createStatement();     } catch (IOException | SQLException e) {       //捕获多个异常,e就是final类型的       e.printStackTrace();       }    }  优点:用一个catch处理多个异常,比用多个catch每个处理一个异常生成的字节码要更小更高效。9 JDK1.7以前声明集合的方式        List<String> strs  = new ArrayList<String>();        Map<String,String> map = new HashMap<String,String>();        strs.add("abc");        strs.get(index);        map.put("key","全新集合");        map.get(key);    JDK1.7以后    List<String> list = [item1,item2,item3];    String item1 = list[0];    String item2 = list[1];    String item3 = list[2];    Map<String,String> map = {key:value,key:value}    String mapValue = map[key];    这样的定义是不是非常方便?肯定的!(有点象JSON)呵呵
0 0
原创粉丝点击