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());
}
}
分享到:
相关推荐
3. **泛型方法和类型参数**:在泛型方法中,我们可以用类型参数来表示操作的类型,然后在方法内部使用`Class`对象来获取更多信息。例如: ```java public <U> void process(U value) { Class<U> valueType = ...
在Java编程语言中,泛型是一种强大的特性,它允许我们在类、接口和方法中使用类型参数,从而提高代码的灵活性和可复用性。当我们谈论“java带两个类型参数的泛型”时,这意味着我们正在处理一个泛型类或泛型方法,...
总结来说,Java泛型的类型擦除虽然在运行时消除了类型信息,但通过编译时的类型检查、桥接方法、通配符等补偿机制,仍然实现了强大的类型安全和便利性。开发者应理解这些补偿机制,以便更好地利用Java泛型进行类型...
Java泛型技术是Java编程语言中的一个重要特性,它在2004年随着Java SE 5.0的发布而引入,极大地增强了代码的类型安全性和可读性。本篇文章将深入探讨Java泛型的发展历程、核心概念以及其在实际开发中的应用。 一、...
Java泛型是Java编程语言中的一个强大特性,它允许我们在定义类、接口和方法时指定类型参数,从而实现代码的重用和类型安全。在Java泛型应用实例中,我们可以看到泛型如何帮助我们提高代码的灵活性和效率,减少运行时...
Java 泛型是 Java SE 5.0 中引入的一项特征,它允许程序员在编译时检查类型安全,从而减少了 runtime 错误的可能性。泛型的主要优点是可以Reusable Code,让程序员编写更加灵活和可维护的代码。 首先,让我们了解 ...
综上所述,Java泛型接口提供了强大的类型安全性,允许我们在接口中定义通用的方法,并在实现时指定具体的类型。通过类型参数约束、通配符、类型擦除和类型推断等机制,我们可以灵活地设计和使用泛型接口,提高代码的...
Java泛型是Java编程语言中的一种重要特性,它允许开发者在编写代码时指定类型参数,从而提高代码的灵活性和可读性。本文将详细介绍Java泛型的用法 及T.class的获取过程解析。 一、泛型的基本概念 泛型是Java 5中...
Java泛型技术的发展不仅标志着编程语言对类型安全和代码复用的重视,也反映了软件工程领域对模块化、复用性和维护性的不断追求。自JDK1.4以来,泛型技术已成为Java开发不可或缺的一部分,极大地提升了开发效率和代码...
Java 泛型是 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型...
6. **基本类型与泛型**:Java泛型不支持原始类型(如int、char)作为类型参数,但可以通过使用专门的通配符如`Integer[]`或`? extends Number`来间接实现。 7. **泛型和多态**:泛型类可以作为其他泛型类或非泛型类...
Java泛型是Java SE 5.0引入的一个重要特性,它极大地增强了代码的类型安全性和可读性。泛型在编程中的应用广泛,特别是在集合框架中,使得我们可以在编译时就检查类型,避免了不必要的类型转换,并且提高了代码的...
尽管如此,由于JVM本身的限制,所有的泛型信息在编译后都会被擦除,因此理解类型擦除的概念对于正确使用Java泛型至关重要。开发者应该注意在创建泛型对象时明确指定类型参数,并理解编译时与运行时的区别,以避免...
Java泛型是Java编程语言中的一个关键特性,它在2004年随着JDK 5.0的发布被引入,极大地增强了代码的类型安全性和重用性。本篇文章将带你入门Java泛型,通过实例深入理解其核心概念。 1. **泛型的基本概念** - 泛型...
Java泛型是Java编程语言中的一个重要特性,它允许在定义类、接口和方法时使用类型参数,从而实现更强大的类型安全性和代码复用。在Java中,泛型的相互绑定是指在泛型类或者泛型方法中,一个类型参数与另一个类型参数...
综上所述,Java泛型的进阶使用涉及多个方面,包括通配符、边界、类型擦除、泛型方法等,这些都对编写高效、安全的代码有着重要作用。理解并熟练掌握这些概念,将有助于提高Java开发的效率和质量。在实际开发中,我们...
Java泛型是Java编程语言中的一个...在“java泛型的高级用法demo”中,你可以期待更深入的示例,如限制类型参数、创建多级泛型、使用泛型接口等复杂应用场景。实践这些示例将有助于进一步理解并熟练掌握Java泛型的精髓。
泛型方法是指在其返回类型前面声明了一个或多个类型参数的方法。泛型方法可以独立于类而独立存在,也可以在泛型类或非泛型类中定义。泛型方法的类型参数是方法特有的,与类的类型参数不同。 ### 泛型接口 泛型接口...