java 声明多个泛型类型和通配符

若一个类中多个字段需要不同的泛型声明,则在声明类的时候指定多个泛型类型即可;

格式:

public interface IDAO<PK, T> {

PK add(T t);

void remove(PK id);

void update(PK id, T t);

T get(PK id);

}

在进行引用传递的时候泛型类型必须匹配才可以传递,否则编译不通过;

使用 ,表示未知类型的泛型对象:

List<?> 表示未知元素的List集合;

这种带通配符的List仅表示各种泛型List的父类,并不能把元素添加入集合中;

List<?> list = new ArrayList<>(); list.add(1);//ERROR

public void show(List<?> list){}

//表示可接受任意类型的List集合

原文地址:https://www.cnblogs.com/fanweisheng/p/11136179.html

时间: 2024-10-15 10:51:47

java 声明多个泛型类型和通配符的相关文章

转!!java泛型概念(泛型类,接口,方法)

一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi"); 6 list.add("corn"); 7 list.add(100); 8 9 for (int i = 0; i < lis

JAVASE(十五) 泛型 :泛型用例、自定义泛型类、通配符

1.泛型在集合中的使用 1.1 在集合中使用泛型之前的例子 ? 为什么要有泛型(Generic)? 1. 解决元素存储的安全性问题2. 解决获取数据元素时,需要类型强转的问题 ? ? 1.2 在集合中使用泛型例子1 List<String> list = new ArrayList<String>(); list.add("aaaa"); List<Integer> list2 = new ArrayList<Integer>(); li

关于java声明的一点杂感

从php这种弱类型的语言转到java,每次看到这种声明,一下子转不过弯来,总感觉很违和,最近思考了一下,有了点感悟 FileInputStream fileInputStream = new FileInputStream("C;\\java\\test.txt"); InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"GBK"); BufferedReader b

Java泛型知识点:泛型类、泛型接口和泛型方法

有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类. 泛型类 容器类应该算得上最具重用性的类库之一.先来看一个没有泛型的情况下的容器类如何定义: public class Container { private String key; private String value; public Container(String k, String v) { key = k; value = v; } public String getKey() { return key; }

关于Java -cp引用jar是否支持通配符

其实是支持的: JDK6支持java -cp后面跟通配符'*',试了一下发现还是需要注意: 错误方式(Wrong way): java  -cp /data/apps/lib/*.jar com.chinacache.Main 或者 java  -cp /data/apps/ilb/ com.chinacache.Main 正确方式(right way): java -cp /data/apps/ilb/* com.chinacache.Main 低版本JDK(小于JDK6) java -cp

唯爱小粽子:Java中的long类型和Long类型比较大小

Java中我们经常要做一些判断,而对于判断的话,用的最多的便是">"."=="."<"的比较,这里我们进行一个Long类型数据和long类型数据的比较大小的讲解. Java中Long和long的区别 Java的数据类型分为两种: 1.基本类型:byte(8),short(16),int(32),long(64),float(32),double(64),char(16),boolean(1) 2.对象类型:Byte,Short,Int

Java中的long类型和Long类型比较大小

Java中我们经常要做一些判断,而对于判断的话,用的最多的便是“>”.“==”.“<”的比较,这里我们进行一个Long类型数据和long类型数据的比较大小的讲解. Java中Long和long的区别Java的数据类型分为两种:1.基本类型:byte(8),short(16),int(32),long(64),float(32),double(64),char(16),boolean(1)2.对象类型:Byte,Short,Integer,Long,Float,Double,Character,

java 泛型声明与 通配符的使用

一:泛型类 把泛型定义在类上:作用域是整个类的内部 格式:public class 类名<泛型类型1,-> 注意:泛型类型必须是引用类型 import java.util.Arrays; public class GenericClassDemo { public static void main(String[] args) { MyArrayList<String> list = new MyArrayList<String>(); list.add("j

Java泛型解析(02):通配符限定

Java泛型解析(02):通配符限定 考虑一个这样的场景,计算数组中的最大元素. [code01] public class ArrayUtil { public static <T> T max(T[] array) { if (array == null || 0 == array.length) { return null ;} T max = array[0]; for (int i = 1; i < array.length; i++) { if (max.compareTo(