`

Java 泛型 类型参数推断和显示类型说明

 
阅读更多
public class New {
	/**
	 * 这就是类型推断
	 */
	public static <K, V> Map<K, V> map() {
		return new HashMap<K, V>();
	}

	public static <T> List<T> list() {
		return new ArrayList<T>();
	}

	public static <T> LinkedList<T> lList() {
		return new LinkedList<T>();
	}

	public static <T> Set<T> set() {
		return new HashSet<T>();
	}

	public static <T> Queue<T> queue() {
		return new LinkedList<T>();
	}

	public static void main(String[] args) {
		Map<Person, List<? extends Person>> pet = New.map();
		f(pet);
		f(New.<Person, List<? extends Person>> map());// 显示的类型说明-- 静态方法在点(.)操作符前用类名,非静态this
	}

	static void f(Map<Person, List<? extends Person>> pet) {
		System.out.println(pet);
	}
}
分享到:
评论

相关推荐

    java 泛型接口示例

    Java 泛型是Java SE 5.0引入的一项重要...通过类型参数约束、通配符、类型擦除和类型推断等机制,我们可以灵活地设计和使用泛型接口,提高代码的复用性和可读性。在实际开发中,理解并熟练运用这些概念是至关重要的。

    java泛型技术之发展

    4. 普及与优化:随着Java泛型的广泛应用,JDK 6和7对其进行了进一步优化,如类型推断(Type Inference),使得编写泛型代码更加简洁。 二、核心概念 1. 泛型类:可以带有类型参数的类,例如`ArrayList&lt;T&gt;`,这里的...

    java 泛型方法使用示例

    在调用泛型方法时,Java编译器会根据传入的实际参数类型推断出类型参数的具体类型。例如: ```java int result = sum(10, 20); // 实际类型为 int String combined = sum("Hello ", "World"); // 实际类型为 String...

    SUN公司Java泛型编程文档

    6. **基本类型与泛型**:Java泛型不支持原始类型(如int、char)作为类型参数,但可以通过使用专门的通配符如`Integer[]`或`? extends Number`来间接实现。 7. **泛型和多态**:泛型类可以作为其他泛型类或非泛型类...

    java泛型的内部原理及更深应用

    Java泛型是Java编程语言中的一个强大特性,它允许在定义类、接口和方法时使用类型参数,从而实现参数化类型。这使得代码更加安全、可读性更强,并且能够减少类型转换的必要。在“java泛型的内部原理及更深应用”这个...

    Java泛型总结(2)进阶篇

    Java泛型是Java SE 5.0引入的一个重要特性,极大地提高了代码的类型安全性和重用性。在本文中,我们将深入探讨Java泛型的进阶概念,包括通配符、边界、类型擦除以及在实际开发中的应用。 1. 通配符 通配符在Java...

    java 泛型的相互绑定

    Java泛型是Java编程语言中的一个重要特性,它允许在定义类、接口和方法时使用类型参数,从而实现更强大的类型安全性和代码复用。在Java中,泛型的相互绑定是指在泛型类或者泛型方法中,一个类型参数与另一个类型参数...

    面试必须资料java泛型攻略、

    Java泛型的基本语法包括类型参数的定义和使用。例如,在`ArrayList`类的定义中,我们有: ```java public class ArrayList&lt;E&gt; extends AbstractList&lt;E&gt; { public void add(E element) { /* ... */ } public ...

    Java泛型_Java中的泛型结构_

    Java泛型是Java编程语言中一个强大的特性,它允许在定义类、接口和方法时使用类型参数,从而实现参数化类型。泛型的主要目标是提高代码的类型安全性和重用性,减少类型转换的麻烦,并在编译时捕获可能的类型错误。...

    java泛型初探

    Java泛型是Java编程语言中的一个...在“java泛型的高级用法demo”中,你可以期待更深入的示例,如限制类型参数、创建多级泛型、使用泛型接口等复杂应用场景。实践这些示例将有助于进一步理解并熟练掌握Java泛型的精髓。

    [Java泛型和集合].(Java.Generics.and.Collections).文字版

    **Java泛型** 是自Java 5引入的一种机制,它允许在类、接口和方法声明中使用类型参数,以实现更强大的类型检查和更少的类型转换。泛型的主要优点包括: 1. **类型安全**:编译时可以检查错误,避免了运行时...

    Java泛型实例

    - Java泛型在编译后会被类型擦除,即所有的类型参数都会被替换为其边界类型(通常为 `Object`),因此泛型不适用于运行时的反射操作。 - 尽管类型参数在运行时不存在,但在编译期间,泛型提供了类型检查,确保了...

    java泛型指南 经典

    ### Java泛型指南经典知识点解析 #### 一、引言 Java 1.5 版本引入了一系列重要的语言特性,其中“泛型”是其中一项关键特性。泛型的引入极大地提高了 Java 语言的类型安全性和代码重用性。本文档旨在深入探讨 ...

    java 泛型

    泛型允许程序员在代码中使用类型参数,从而增加了代码的类型安全性和重用性。它能够帮助我们避免在运行时出现ClassCastException,并且在编译时期就能捕获类型不匹配的错误。 首先,我们要理解泛型的基本概念。在...

    java泛型类和函数

    ### Java泛型类和函数详解 #### 泛型概述 在Java中,泛型是一种允许开发者在类、接口和方法中使用类型参数的功能。通过使用泛型,可以在编写代码时指定一个或多个类型参数,从而使得编写的代码更加灵活且重用性更高...

    Java8中对泛型目标类型推断方法的改进

    Java 7引入了一种改进,即在初始化泛型实例时可以省略类型参数,编译器会根据变量声明时的类型进行推断。例如,`Map, String&gt; myMap = new HashMap();`这里的`&lt;&gt;`被称为钻石操作符,它告诉编译器自动推断泛型类型。...

    java5泛型新特性 pdf

    8. **类型推断**:Java 5及后续版本提供了类型推断,编译器可以根据上下文自动推断类型参数,简化代码。例如,`List&lt;String&gt; list = new ArrayList();` 9. **泛型和枚举**:泛型也可应用于枚举类型,为每个枚举常量...

    [Java泛型和集合].

    Java泛型和集合是Java编程语言中的核心特性,它们极大地提高了代码的类型安全性和可读性,同时也简化了集合操作。本资料主要基于Maurice Naftalin和Philip Wadler合著的《Java泛型和集合》进行讨论。 首先,我们要...

    Java泛型和集合-英文版

    9. 类型参数捕获(Wildcard Capture):类型参数捕获是一个复杂的概念,涉及到类型推断和可变参数的使用。它允许在编译时通过推断出更具体的类型来解决通配符类型的问题。 10. 泛型的限制(Restrictions on ...

Global site tag (gtag.js) - Google Analytics