Java:泛型方法、泛型类、泛型接口、类型通配符
发布时间:2023-07-20 00:17:12 307
相关标签: # html# java# java
(目录)
要求:
JDK >= 1.5
泛型方法
package com.example.demo;
import java.io.IOException;
public class Demo {
// 泛型方法
public static void printT(T value) {
System.out.println(value);
}
public static void printObject(Object value) {
System.out.println(value);
}
public static void main(String[] args) throws IOException {
Demo.printT("Tom");
Demo.printT(23);
Demo.printObject("Tom");
Demo.printObject(23);
}
}
泛型类
package demo;
public class Box {
private Object value;
public void set(Object value) {
this.value = value;
}
public Object get() {
return this.value;
}
public static void main(String[] args) {
Box box = new Box();
box.set("Tom");
String value = (String) box.get();
System.out.println(value);
}
}
使用泛型,可以不做类型强制转换
package demo;
public class Box {
private T value;
public void set(T value) {
this.value = value;
}
public T get() {
return this.value;
}
public static void main(String[] args) {
Box box = new Box<>();
box.set("Tom");
String value = box.get();
System.out.println(value);
}
}
泛型接口
package demo;
interface IBox {
void set(T value);
T get();
}
class Box implements IBox {
private T value;
@Override
public void set(T value) {
this.value = value;
}
@Override
public T get() {
return this.value;
}
}
public class Demo {
public static void main(String[] args) {
Box box = new Box<>();
box.set("Tom");
String value = box.get();
System.out.println(value);
}
}
类型通配符
public class Demo {
public static void main(String[] args) {
Box box = new Box<>();
printBox(box);
}
public static void printBox(IBox> box) {
System.out.println(box);
}
}
参考 https://www.runoob.com/java/java-generics.html Java学习路线-7:泛型
文章来源: https://blog.51cto.com/mouday/5968659
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报