gpt4 book ai didi

java - Java中如何调用泛型类型的方法?

转载 作者:行者123 更新时间:2023-12-01 19:15:48 25 4
gpt4 key购买 nike

在此示例中,asString() 调用无法编译。 (旁白:调用 toString() 确实可以编译,但我需要自定义。)鉴于实际上已为每种可能的方法提供了该方法,如何调用泛型类型的 asString 或任何方法T

class Range<T>
{
private T min;
private T max;

Range(T min, T max)
{
this.min = min;
this.max = max;
}

String makeString()
{
return "The range is from " + min.asString() + " to " + max.asString();
}
}

最佳答案

您需要提供一个定义了 asString 方法的接口(interface),例如:

interface AsStringable {
String asString();
}

然后像这样定义你的类:

class Range<T extends AsStringable>
{
private T min;
private T max;

Range(T min, T max)
{
this.min = min;
this.max = max;
}

String makeString()
{
return "The range is from " + min.asString() + " to " + max.asString();
}
}

关于java - Java中如何调用泛型类型的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6731956/

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