声明方法java实际开发中泛型使用需要注意的一些问题

2022-07-05 14:11:30 浏览数 (1)

在写这篇文章之前,xxx已经写过了几篇关于改声明方法主题的文章,想要了解的朋友可以去翻一下之前的文章

1.Map<K,V> 声明的泛型类型必须是类,不能是基本类型。如果是基本类型将其写为对应的对象类型。

2.Map<k,v> map=new LinkedHashMap<k,v>();

当双方都有泛型时,那么这两个泛型就必须雷同。

轻易出错的地方,如:

List<Object>list=new ArrayList<String>();不可

List<String>list=new ArrayList<Object>();不可

3.也可以允许只有一边有泛型,另一边没有泛型。

Map map=new LinkedHashMap<k,v>();

Map<k,v> map=new LinkedHashMap();

3.泛型是给javac使用的,用于限定往集合中要添加的元素类型。但是当编译器完成对带有泛型的java程序后,生成的class文件中是不带有泛型信息的,这个进程称之为“擦除”。这样可以避免影响程序运行的效率。 4.当自定义一个方法中带有多个泛型时,其声明的格式为:

Public <T,E,F> void method(T t,E e,F f){}

5.当一个方法为static时,那么这个静态方法就不能使用在类上声明的泛型,只能在自己的方法上进行泛型声明。

Class Demo<K>

{

Public static void method(K name){}//错误

Public static <T> void f1(T a){}

//注意在方法上声明泛型时,泛型涌现的位置应当紧挨在返回类型的前面。

}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/110138.html原文链接:https://javaforall.cn

0 人点赞