jdk5新特性

作者: 时空的朋友 | 来源:发表于2019-11-20 16:25 被阅读0次

自动装箱与拆箱

// 自动装箱:值转对象
Integer n = 1;
// 自动拆箱:对象转值
int m = n;

自动拆箱时小心NPE。


静态导入

import static java.util.Collections.addAll;

可变参数

public void method(Object... args) {}

写工具方法时更加容易,如:

public static <T> boolean  java.util.Collections.addAll(Collection<? super T> c, T... elements) 

Introspector

文档参考

BeanInfo info = Introspector.getBeanInfo(Xyz.class);    // BeanInfo包含:BeanDescriptor, PropertyDescriptor, MethodDescriptor等

我用的不多,有印象的只有PropertyDescriptor中的getReadMethod和getWriteMethod,绝大多数时是直接用反射。可以看看spring中的使用

范型

public class ArrayList<E> extends AbstractList<E>

基本功,在框架和工具方法中经常使用。

List<?>
List<E extends T>
List<E super T>

for-each

List<T> list = new ArrayList<T>();
for (T ele : list) {
    ...
}

注解

Annotation 提供了强大的元数据能力,在编译时、文档、运行时提供了强大的支持,如今在各种框架中都有其深度的使用。

协变返回类型

@Override子类覆盖方法时返回的类型可以是父类返回类型的子类型

abstract class Parent {
    abstract Object getValue();
}
class Child extends Parent {
    @Override
    public ArrayList<?> getValue() {
        return null;
    }
}

枚举

enum Type {
    TYPE1, TYPE2
}

最佳实践:在分布式系统中不使用枚举。一不用枚举一样能实现业务目标、二分布式系统中枚举容易成坑。

相关文章

  • jdk5新特性

    记录下原文链接如下: 尊重别人的劳动成果https://blog.csdn.net/weixin_40926603...

  • jdk5新特性

    自动装箱与拆箱 // 自动装箱:值转对象Integer n = 1;// 自动拆箱:对象转值int m = n; ...

  • JDK5的新特性

    可变参数 格式: 注意 静态导入 泛型 泛型类: 泛型方法: 泛型接口: 增强for 在 集合_List 中有...

  • jdk 5 到 jdk 10各个版本的新特性

    jdk5 jdk10各个版本的新特性 JDK1.5新特性: 1.自动装箱与拆箱: 2.枚举 3.静态导入,如:i...

  • 201012:注解-CommandLineRunner-Jett

    一. 注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入...

  • 反射学习一——注解

    Java注解类型(@Annotation) Java注解是JDK5时引入的新特性,鉴于目前大部分框架(如Sprin...

  • Java 泛型

    本文只是做为泛型的入门和基础的泛型的了解。 什么是泛型?泛型(generices)是JDK5引入的新特性,这个特性...

  • Java注解基础概念总结

    注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Me...

  • java-注解

    注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Me...

  • 各JDK版本的新特性

    JDK5的新特性: 自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 Pr...

网友评论

    本文标题:jdk5新特性

    本文链接:https://www.haomeiwen.com/subject/knpoictx.html