一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类型。如果编写可以应用于多种类型的代码,将受限于java的强类型束缚。有一种不安全的写法,是使用Object。javaSE5中有了泛型,解决了这个问题。
泛型的应用场景之一,就是容器类,用于持有其他任意类实例。比如,java集合框架中的List,Set,Map。
package tik4.generic; import java.util.ArrayList; import java.util.List; public class Holder<T> { private T t; public Holder(T t) { this.t = t; } public T get() { return t; } public void set(T t) { this.t = t; } public static void main(String[] args) { List<String> strList0 = new ArrayList<String>(); strList0.add("firStr"); Holder<List<String>> holder = new Holder<List<String>>(strList0); List<String> strList1 = new ArrayList<String>(); strList0.add("secStr"); // OK holder.set(strList1); List<Integer> intList = new ArrayList<Integer>(); // 不能编译 // holder.set(intList); } }
相关推荐
### Java泛型编程指南知识点详解 #### 一、绪论:理解Java泛型的重要性与背景 **1.1 泛型的基本概念** 泛型是一种在编程语言中支持编写类型安全的通用函数或类的能力。在Java中引入泛型的主要目的是为了提供更...
String combined = sum("Hello ", "World"); // 实际类型为 String ``` **五、通配符在泛型方法中的应用** 除了明确指定类型参数外,还可以使用通配符 `?` 来表示任何类型。例如,可以定义一个打印任意列表内容的...
Generic<String> stringGeneric = new Generic("Hello World"); String value = stringGeneric.getKey(); // 编译器自动进行类型转换 ``` #### 四、泛型的高级应用 ##### 4.1 泛型擦除 泛型信息只存在于编译期,...
Pair<String> pair1 = new Pair("Hello", "World"); ``` 这里,`String`就是类型参数`T`的实际类型。这使得`Pair<String>`成为一个专门用于存储字符串对的类。 #### 三、创建泛型对象的注意事项 在创建泛型对象时...
### Java泛型指南经典知识点解析 #### 一、引言 Java 1.5 版本引入了一系列重要的语言特性,其中“泛型”是其中一项关键特性。泛型的引入极大地提高了 Java 语言的类型安全性和代码重用性。本文档旨在深入探讨 ...
### Java泛型类和函数详解 #### 泛型概述 在Java中,泛型是一种允许开发者在类、接口和方法中使用类型参数的功能。通过使用泛型,可以在编写代码时指定一个或多个类型参数,从而使得编写的代码更加灵活且重用性更高...
stringBox.setContent("Hello, World!"); String content = stringBox.getContent(); ``` #### 泛型接口 类似地,接口也可以是泛型的。例如,下面是一个泛型接口的例子: ```java public interface List<T> { void...
以下是对Java泛型的详细解释: 1. **泛型类型**:泛型类型允许我们在定义类、接口或集合时引入类型参数。比如`List<String>`就是一个泛型类型,其中String是类型参数,代表了列表中的元素类型。这样,当我们将字符...
- **方法中的类型推断**:Java编译器可以自动推断出方法调用时的类型参数,如 `swap("hello", "world");` 4. **泛型接口** - **定义泛型接口**:接口可以包含类型参数,如 `interface Container<T> { T get(); }`...
stringGenericClass.set("Hello World"); String s = stringGenericClass.get(); System.out.println(s); } } ``` 在这个示例中,`GenericClass`被声明为泛型类,其中`T`是类型参数。创建`GenericClass`的实例...
Java中的泛型是Java SE 5.0引入的一项重要特性,极大地增强了代码的类型安全性和重用...通过详细阅读和理解这些代码,开发者可以更好地掌握Java泛型方法的概念,并将其应用到自己的项目中,提高代码的灵活性和安全性。
3. **编写代码**:打开文本编辑器,如Notepad++或Visual Studio Code,创建一个新的文件,命名为`HelloWorld.java`。在文件中输入以下代码: ```java public class HelloWorld { public static void main(String...
"java-helloworld"这个项目标题通常指的是初学者入门Java编程时的第一个示例程序,它标志着学习者在编程旅程中的起点。"测试编译"的描述可能意味着该压缩包包含了一个简单的Java程序,用于演示如何编译和运行Java...
### Java 1.5 泛型指南中文版 #### 一、引言 自 JDK 1.5 起,Java 引入了一系列强大的新特性,以增强其编程能力和简化开发流程,其中“泛型”(Generics)是最重要的新增功能之一。本文将详细介绍 Java 泛型的概念...
在Java泛型出现之前,集合框架中的类如`List`、`Map`等都是以`Object`作为类型处理元素的。这意味着在使用这些集合时,往往需要频繁地进行类型转换操作,如: ```java List list = new ArrayList(); list.add("hello...
在学习Java类文件的过程中,我们将通过一个简单的“Hello World”示例来探索Java类文件的内部结构和编译后的字节码。Java开发者通过深入理解Java类文件的组成,能够更好地掌握Java语言的各种高级特性,比如反射机制...
java高手真经 全光盘源代码 打包rar 第1部分(2个程序包) HelloWorld.zip 01.Java入门样例Hello...javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性
看到很多人都分卷打包的,下载很是不方便,还浪费积分,我就整合压缩打包到一个包里面,里面包含全部...javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性