java – 创建一个可以返回两个不同内容的方法
发布时间:2020-12-15 04:47:18 所属栏目:Java 来源:网络整理
导读:我试图创建一个方法,可以根据输入到它的数据类型返回两个不同的东西. 此类将随机项更改为数据类型 这就是我所拥有的,我知道在这个方法中,所有允许返回的都是一个资源,但我不知道如何使它能够返回枯竭的资源或垃圾. public Resource itemToResourceOrJunk(ran
我试图创建一个方法,可以根据输入到它的数据类型返回两个不同的东西.
此类将随机项更改为数据类型 这就是我所拥有的,我知道在这个方法中,所有允许返回的都是一个资源,但我不知道如何使它能够返回枯竭的资源或垃圾. 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; } } 解决方法
让Resource和Junk实现一个接口并将其用作返回值.
所以 public class Resource implements ResourceOrJunk { ... } 和 public class Junk implements ResourceOrJunk { ... } 接口: public interface ResourceOrJunk { //can be left empty,or add some shared methods } 现在您可以将方法更改为: public ResourceOrJunk itemToResourceOrJunk(randomItem d){ 和调用方法可以检查结果: ResourceOrJunk roj = itemToResourceOrJunk(d); if (roj instanceof Resource){ Resource r = (Resource)d; //do stuff with resource } else { Junk j = (Jurk)d; //do stuff with junk } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |