gpt4 book ai didi

java - 接口(interface)中方法的通用返回类型

转载 作者:行者123 更新时间:2023-12-02 06:05:35 25 4
gpt4 key购买 nike

我有一个节点接口(interface):每个节点都有一个ID。但是,不同类型的节点具有可以是整数或字符串的 ID。我怎样才能让我的界面适应相同的东西,只是有不同的类型?

public interface Hyperspacable {


public int getDimensioninality();

/*
* Returns the Hyperspacable's object at this dimension
*/
public double getDimValue(int depth);

public double getLat();
public double getLon();
public String getID();


/*
* Calculates the distance between two Hyperspacable objects of the same dimension
*/
public double distance(Hyperspacable e) throws DifferentDimensionException;
}

最佳答案

如果您确实需要两种不同的 ID 类型,我可以想到几种可能性:您可以使您的界面通用,或者可以用两个方法 getIntegerID 替换 getID() 方法()getStringID() (当另一种类型适用时,其中一个将返回 null)。对于通用接口(interface)方法:

public <T> interface Hyperspacable {
public T getID();
. . .
}

对于这两种方法,整数值 ID 类型都必须返回 Integer 而不是 int

关于java - 接口(interface)中方法的通用返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308217/

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