`
wankunde
  • 浏览: 162313 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JDK5-泛型

 
阅读更多

自己随便写的两个例子,可能说的不算全面吧!

 

import java.util.Hashtable;
public class Test1<K,V> {
	public Hashtable<K,V> table = new Hashtable<K, V>();
	public void put(K k,V v)
	{
		table.put(k, v);
	}
	public V get(K k)
	{
		return table.get(k);
	}
	
	public static void main(String[] args) {
		Test1<String, String> t = new Test1<String,String>();
		t.put("name", "How to learn Java");
		System.out.println(t.get("name"));
	}
}
/**
 * 1.泛型:创建一个用类型作为参数的类 。对于类的参数是可变的
 * 2.参数范围的缩减可以使用 public class Test1<K extends String,V extends Integer> 方式确定,参数的范围分别为String 类型和Integer 类型
 * 
*/

 

import java.util.ArrayList;
import java.util.List;

public class Test2 {

	public static void main(String[] args) {
		/********************************************/
		List<String> list = new ArrayList<String>();
		list.add("David");
		list.add("Jack");
		list.add("XiaoQiang");
		
		printList(list);
		
		List<?> list2 = list;
		printList(list2);
		
		List<People> list3 = new ArrayList<People>();
		list3.add(new People("David","man",18,2400));
		list3.add(new People("Wankun","man",25,5800));
		list3.add(new People("Zhangsan","woman",10,400));

		printList(list3);
	}
	
	/* 在函数的参数中,使用通配符来表示不同的数据类型*/
	public static void printList(List<?> l)
	{
		for(Object o:l)
		{
			System.out.println(o);
		}
	}
}

class People
{
	String name;
	
	String sex;
	
	int age;
	
	double salary;
	
	@Override
	public String toString() {
		return name+":"+" is "+sex+",He is "+age+".He's salary is "+salary;
	}
	
	public People(String name,String sex,int age,double salary) {
		this.name = name;
		this.sex = sex;
		this.age = age;
		this.salary = salary;
	}
}

/**
 * 1.JDK5中的集合论类使用了泛型,所以你可以根据你要使用的数据类型,选择相应类型的集合存储数据。
 * 	在集合处理数据的时候会自动进行转换。
 * 2.集合中运行使用通配符,比如在某函数的参数中,你不知道集合中是哪种类型的数据,可以使用?代表数据类型
 */
 

 

分享到:
评论

相关推荐

    jdk1.5的泛型实现

    5. 静态方法与泛型: - 泛型静态方法不能访问类的类型参数,因为静态方法属于类,而不属于类的实例。 - 静态方法可以有自己的类型参数,如`public static &lt;T&gt; void printArray(T[] array) {...}`。 6. 泛型与集合...

    java-jdk1.8-jdk-8u151-linux-x64.zip

    - **类型推断增强**:编译器能更好地推断泛型的类型,使得代码更加简洁。 - **Stream API**:提供了一种处理集合的新方式,可以进行过滤、映射、归约等操作,极大地提高了代码的可读性。 - **Date和Time API的改进...

    java-jdk1.8-jdk-8u151-windows-x64.zip

    5. **Date和Time API改进**:引入了新的java.time包,取代了旧的java.util.Date和Calendar,提供了更强大、更直观的时间日期处理功能。 6. **类型推断增强**:编译器可以更好地推断泛型的类型,使代码更简洁。 7. ...

    jdk1.6--jdk-6u45-windows-i586.exe.zip

    1. **泛型**:泛型允许开发者在编写代码时就指定容器类的数据类型,提高了类型安全性和代码可读性。 2. **枚举**:枚举类型是Java 1.5引入的新特性,它提供了一种更安全、更方便的方式来表示一组固定值的集合。 3....

    java--泛型编程

    Java 泛型编程是Java语言在JDK 1.5版本引入的一项重要特性,它极大地提高了代码的安全性和可重用性。泛型本质上是参数化类型,允许我们在编写代码时,将数据类型作为参数,这使得类、接口和方法能够处理多种不同的...

    介绍 JDK 5中泛型

    到目前为止,Java 类库中泛型支持存在最多的地方就是集合框架。就像容器类是 C++ 语言中模板的主要动机一样改善集合类的类型安全是 Java 语言中泛型的主要动机。集合类也充当如何使用泛型的模型,因为它们演示了泛型...

    java经典教程-JDK1.5的泛型实现

    Java泛型是自JDK 1.5版本引入的一项重要特性,它极大地提高了代码的类型安全性和重用性。在本教程中,我们将深入探讨Java泛型的实现及其在实际编程中的应用。 泛型允许我们在类、接口和方法中定义类型参数,这样就...

    java-jdk1.8-jdk-8u181-linux-x64.zip

    5. 安装完成后,可以验证JDK是否正确安装。在终端中输入`java -version`和`javac -version`,如果一切正常,你应该能看到对应的JDK版本信息。 在使用JDK 1.8时,有一些关键特性值得注意: - ** Lambda表达式**:...

    jdk5.zip_java 泛型_jdk5 泛型_泛型

    Java 泛型是Java编程语言中的一个重要特性,它在JDK 5版本中引入,显著提高了代码的类型安全性和重用性。泛型允许程序员在类、接口和方法中使用类型参数,使得容器(如ArrayList、LinkedList等)可以保存特定类型的...

    jdk1.7--jdk-7u15-windows-i586.zip

    5. **NIO.2**:引入了新的文件系统API,增加了对异步I/O的支持,以及更好的文件路径处理和文件观察者功能。 6. **Type Inference for Generic Instance Creation**:类型推断的改进,使得创建泛型实例更加简洁。 7...

    java-jdk1.8-jdk-8u171-linux-x64.zip

    5. 验证JDK是否安装成功,输入`java -version`,如果显示正确版本号,说明安装完成。 参考教程链接可能会提供更详细的安装指导,包括如何处理依赖问题、解决权限问题以及设置系统级默认JDK等。 总之,Java JDK 1.8...

    jdk-8u202-linux-arm64-vfp-hflt-demos.tar.gz

    在解压"jdk-8u202-linux-arm64-vfp-hflt-demos.tar.gz"后,用户可以探索和学习JDK 8的示例代码,这些示例涵盖了Java语言的关键特性和API,如多线程、I/O操作、网络编程、集合框架、反射、注解、泛型等。通过研究这些...

    JDK1.5的泛型实现.pdf

    JDK1.5的泛型实现.pdf

    Jdk1_5中的新特性 --泛型 (详细版)

    容器不能放基类型不好,接着说泛型没用。而恰恰Jdk1.5中解决了这些问题,所以感叹之余,把这篇文章改一下,详细的说说泛型

    java-jdk1.7-jdk-7u80-windows-x64.zip

    2. **多路返回值**:使用`钻石操作符(Diamond Operator)`,在创建泛型实例时可以省略类型参数,编译器会自动推断出类型。 3. **尝试-with-resources语句**:这是一种自动关闭资源的机制,可以确保在finally块中正确...

    jdk-7u80-windows-x64.exe

    5. **String in Switch**:在`switch`语句中可以直接比较字符串。 6. **新的集合工厂方法**:在`Collections`和`Arrays`类中增加了新的工厂方法,方便创建集合和数组。 7. **NIO.2**:提供了一组新的文件系统API,...

    jdk-7-ea-bin-b24-windows-i586-04_dec_2007.rar

    5. **多catch块**:允许在单个catch块中捕获多种类型的异常,简化了异常处理代码。 6. **NIO.2**:提供了新的文件系统API,包括异步I/O操作,文件属性查询,文件路径和链接操作等。 7. **改进的类型推断**:编译器...

    jdk1.7-7u79-windows32-i586

    标题“jdk1.7-7u79-windows32-i586”和描述“jdk1.7-win-32位-jdk1.7-7u79-windows32-i586”均指向了同一款软件的安装包,即Java Development Kit(JDK)的1.7版本,具体更新至7u79(Update 79),适用于Windows操作...

    jdk-7u80-windows-x64.zip

    5. **try-with-resources**:确保资源在使用后被正确关闭,减少了资源泄露的风险。 6. **改进的类型推断**:通过引入"钻石操作符",Java 7的编译器能够更智能地推断泛型类型的实例化。 7. **Fork/Join框架**:提供...

    jdk-7u5-windows-i586.exe

    Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

Global site tag (gtag.js) - Google Analytics