gpt4 book ai didi

java - 检测java中要返回哪个类

转载 作者:行者123 更新时间:2023-12-02 00:19:52 27 4
gpt4 key购买 nike

我需要检查一个条件,如果满足,我需要返回一个类,如果不满足,我需要返回另一个类

private <T> d(String example) {

if(example.startsWith("example1"))
return new example1();
else if((example.startsWith("example2"))
return new example2();

}

我不知道如何返回,请解释一下。

最佳答案

您应该为您可以返回的两个对象返回一个父类(super class)或接口(interface)。如果您还没有为它们定义一个父类(super class),您仍然可以返回 Object 并执行不太好的 instanceof 验证来了解返回的是哪个类。

代码示例:

class SuperClass {
}

class MyClass1 extends SuperClass {
}

class MyClass2 extends SuperClass {
}

private SuperClass myMethod(String parameter) {
SuperClass sc = null;
//just trying some code, this could be replaced for your logic
if (parameter.equals("1")) {
sc = new MyClass1();
} else {
sc = new MyClass2();
}
return sc;
}

private void myOtherMethod(String parameter) {
//some code here...
SuperClass sc = myMethod(parameter);
if (sc != null) {
//securing the upcast...
if (sc instanceof MyClass1) {
//logic of MyClass1 instance...
}
if (sc instanceof MyClass2) {
//logic of MyClass2 instance...
}
}
//more logic over here...
}

关于java - 检测java中要返回哪个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238416/

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