gpt4 book ai didi

java - 使用参数化(通用)Java 类与普通类

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:12 27 4
gpt4 key购买 nike

如果我需要编写一个处理“Comparable”类型数据的类,我可以通过两种方式实现:

1)

public class MyClass<T extends Comparable>
{

private T value;

MyClass(T value)
{
this.value = value;
}

other code...
}

2)

public class MyClass
{

private Comparable value;

MyClass(Comparable value)
{
this.value = value;
}

other code...
}

这两种方法中哪种更好,为什么?一般来说,如果不使用泛型也能达到同样的效果,那么使用泛型是否更好?为什么?

最佳答案

这取决于你类的其他人。例如,如果您有方法 getValue,那么通用方法会更可取,因为您可以这样做:

public class MyClass<T extends Comparable>
{

private T value;

MyClass(T value)
{
this.value = value;
}

T getValue() {
return this.value;
}

other code...
}

如果没有泛型,一些类型信息将会丢失,因为您只能返回一个 Comparable

关于java - 使用参数化(通用)Java 类与普通类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6168863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com