package com.study.generics;
/**
* 简单泛型之两个参数类型
* @author Administrator
* @description 泛型类的定义时,不能在同一包中指定两个同名的泛型类名
* @param <K>
* @param <V>
*/
class GenericsClassTwo<K,V> {
private K key;
private V value;
public K getKey() {
return key;
}
public void setKey(K key) {
this.key = key;
}
public V getValue() {
return value;
}
public void setValue(V value) {
this.value = value;
}
/**
* 泛型中重写toString不起作用,为什么
*/
public String toString() {
return ("泛型的键值为键:"+this.key + " 泛型的键值的值为"+this.value);
}
}
public class GenericsDemo02 {
public static void main(String []args) {
//泛型的比较大小,也是按照键对的形式进行比较,如果键值名称相等则先前的值擦除。
//比较也是按照Object类的equals和hashCode方法比较。自定义类可以使用Compareable类的compareTo() 方法排序,此排序使用哈希表排序
//以上结论为什么在泛型中不起作用。
//因为泛型是参数化类型,把每一个传递过去的参数都看作参数化。(备注,网上搜索资料)
GenericsClassTwo<String,Integer> twoGenerics= new GenericsClassTwo<String,Integer>();
twoGenerics.setKey("1");
twoGenerics.setValue(100);
System.out.println("泛型的键为:"+twoGenerics.getKey());
System.out.println("泛型的值为:"+twoGenerics.getValue());
twoGenerics.setKey("1");
twoGenerics.setValue(100);
System.out.println("泛型的键为:"+twoGenerics.getKey());
System.out.println("泛型的值为:"+twoGenerics.getValue());
GenericsClassTwo<String,Float> twoGenerics1= new GenericsClassTwo<String,Float>();
twoGenerics1.setKey("1");
twoGenerics1.setValue(339.33f);
System.out.println("泛型的键为:"+twoGenerics1.getKey());
System.out.println("泛型的值为:"+twoGenerics1.getValue());
}
}
分享到:
相关推荐
但其实Java泛型还是有挺多tricky的东西的,编译器在背后为我们做了很多事。下面我们来看看有关Java泛型容易忽视的点。 泛型不支持协变 什么是协变?举个例子。 class Fruit{} class Apple extends Fruit...
主要介绍了Java泛型extends关键字设置边界的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
今天学习Java泛型技术,这个在平时里用的也很多但在我在工作中用到深处的可能并不是很多,定义泛型类也很少用到的基本就是用到集合中写泛型。但是作为学习还是要多学一些基本理论性的东西,对比较深的东西理解起来...
对java1.5中的新特性进行了详细介绍,包括泛型、枚举类型、动态参数、注释、静态包含、格式化、多线程等,都有具体的实例,通俗易懂。
泛型是对Java语言类型系统的一种扩展,有点类似于C++的模板,可以把类型参数看作是使用参数化类型时指定的类型的一个占位符。引入泛型,是对Java语言一个较大的功能增强,带来了很多的好处: 1、类型安全。...
泛型其实就是能够向你的类型中加入类型参数的一种能力,也称作参数化的类型或参数多态性
useOnlyTest.java 创建多个对象,演示this的作用 useStaticBolck.java 使用静态块 useStVar.java 使用静态成员变量 第4章 示例描述:本章学习继承与多态。 absClass.java 抽象类定义示例 ancestor.java 基类...
java泛型源码 创世记 通用源代码预处理器。 动机 向JavaScript,Go和其他类似语言添加以下功能: 一个功能强大的类似于C的预处理器,具有多令牌变量和函数,局部和全局作用域,包含,导入,赋值,表达式,条件,循环...
在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多...
当方法需要处理多个参数,并且参数类型相同或具有相似的行为。 目标: Java可变参数的目标是方便开发者处理具有可变数量的参数的情况。通过使用可变参数,开发者可以更简洁地编写方法,无需重载多个方法来处理不同...
泛型不能使用简单类型 GenList<int> nList = new GenList(); //编译错误 泛型类不能是异常类,也就是该泛型类不能继承自Throwable以及其子类 public class MyExpection<T> extends Exception{ } //...
6. 解释一下JAVA中的泛型编程,包括泛型类型参数、通配符等的使用。 7. 解释一下JAVA中的基本数据类型和引用类型的区别和使用。 8. 解释一下JAVA中的自动装箱和拆箱机制。 9. 解释一下JAVA中的反射机制,包括Class、...
Lambda.R2E用于返回的lambda,该lambda具有已定义的返回类型并带有两个泛型参数,并且还允许您定义抛出的Exception类型! ... 还有很多 ... 同样,从Lambda.R2E lambda到Lambda.V2E就像调用lambda.V2E()一样容易...
1. Java中有哪些数据类型? 答:Java中有八种基本数据类型,分别为byte、short、int、long、float、double、char和boolean。 2. Java中如何实现多线程...答:泛型是Java中一种参数化类型的概念,允许在编译时期检查类
java面试题 1. Java中的基本数据类型有哪些?...答案:Java中的泛型是一种允许你在类、接口和方法中使用类型参数的功能。泛型的主要目的是提高代码的可重用性和可读性。通过使用泛型,你可以创建适用于各种数据类型
在Java SE5中引入的Callable是一种具有类型参数的泛型,它的类型参数表示的是从方法call()中返回的值,并且必须使用ExecutorService.submit()方法调用它。 import java.util.ArrayList; import java.util....
150道单选复习题内附答案 1.方法定义和常量值的集合是(B) (A).单元 (B).... (C)....(D)....2.泛型使用中的规则和限制是(D) ...(A).泛类参数只能是类类型不能是简单类型 ...泛型的类型参数可以有多个 (D).以上都是