Java 泛型
JAVA 是一个强类型的语言,一般情况下每个变量只能是一个类型.能否只定义一个类就能满足坐标既可能为 int 类型,也可能为 double 类型的情况呢
单个类型是泛型
// cat Point.java
public class Point<T> {
private T x;
private T y;
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public T getY() {
return y;
}
public void setY(T y) {
this.y = y;
}
}
// cat Test.java
public class Test{
public static void main(String[] args){
// 坐标为 int 类型,把 int 类型的包装类 Integer 作为参数传入泛型类中
Point<Integer> point1 = new Point<Integer>();
point1.setX(1);
point1.setY(1);
// 坐标为 double 类型,把 double 类型的包装类 Double 作为参数传入泛型类中
Point<Double> point2 = new Point<Double>();
point2.setX(3.456);
point2.setY(4.789);
}
}
多个泛型类型
public class Triple<A, B, C> {
private A a;
private B b;
private C c;
}
泛型方法
public class Printer {
public static <T> void printArray(T[] objects) {
if (objects != null) {
for(T element : objects){
System.out.printf("%s",element);
}
}
}
public static void main(String[] args) {
Integer[] intArray = {1, 2, 3, 4, 5};
Character[] charArray = {'A', 'B', 'C', 'D'};
printArray(intArray);
printArray(charArray);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论