当前位置:首页 > 服务端 > JAVA高级复习-自定义泛型类、泛型接口的注意点

JAVA高级复习-自定义泛型类、泛型接口的注意点

1. 静态方法中不能使用泛型

2. 泛型数组的正确写法

public class Student<T> {
    private T studentT;

    //静态方法中不能使用泛型
//    public static void show(T studentT) {
//        System.out.println(studentT);
//    }

    public void read() {
        //泛型数组的错误写法,编译不通过,报错(Type parameter 'T' cannot be instantiated directly)
//        T[] arr = new T[10];

        //泛型数组的正确写法,编译通过
        T[] objects = (T[]) new Object[10];
    }
}

3. 泛型不同的引用,不能相互赋值,否则报错(Incompatible types)

4. 异常类不能是泛型的,编译报错(Generic class may not extend 'java.lang.Throwable')

/**
 * 自定义泛型类、泛型接口的注意点
 */
public class GenericTest4 {

    @Test
    public void test01() {
        List<Integer> list1 = new ArrayList<>();
        List<String> list2 = new ArrayList<>();
        //泛型不同的引用,不能相互赋值,否则报错(Incompatible types)
//        list1 = list2;

    }

}

/**
 * 异常类不能是泛型的,编译报错(Generic class may not extend 'java.lang.Throwable')
 */
//class MyException<T> extends RuntimeException {
//
//}

作者:温森
来源链接:https://www.cnblogs.com/elnimo/p/13654052.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/124802.html

分享给朋友: