java - 创建一个可以返回两个不同事物的方法

标签 java

我正在尝试制作一种方法,该方法可以根据输入的数据类型返回两种不同的东西。

此类将随机项更改为它的数据类型

这就是我所拥有的,我知道在这个方法中,它只允许返回一个资源,但我不确定如何让它可以返回资源或垃圾。

public Resource itemToResourceOrJunk(randomItem d){
    Resource i;
    Junk O;
    i = d.getResource();
    O = d.getJunk();

    if(d.resourceName.equals("notassigned")){
        return o;
    }
    else if(d.junkName.equals("notassigned")){
        return i;
    }
}

最佳答案

您可以让 ResourceJunk 实现相同的接口(interface)(例如 Stuff),然后将返回类型设置为 itemToResourceOrJunk 成为那个接口(interface)。

要清楚,它可以这样走:

public class Resource implements Stuff { ... }

public class Junk implements Stuff { ... }

然后

public Stuff itemToResourceOrJunk(randomItem d){ ... }

尽管如果您需要使用特定于 Resource Junk 的方法或属性,< strong>那么您必须转换为相关类型。

关于java - 创建一个可以返回两个不同事物的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34404606/

相关文章:

java - 在 Windows XP 中停止 Java 进程的策略

java - RealmResults 查询返回部分结果 - Android

java - 使用 invokeLater 一一显示对话框

java - 如何将 bean 制作为自定义类型?

java - 在 Java 中从 main() 中的 Thread 实例上运行 wait()

java - VLCJ - 在 Eclipse 中播放 "res"文件夹中的视频效果很好,但不能播放可执行 JAR 文件中的视频

java - 如何启用或禁用JavaFX表单中的按钮?

Java Opengl 3D 渲染

Java 数树 For 循环

java - Maven 依赖插件 - 解包 jar 文件时排除目录