gpt4 book ai didi

java - 如何在 Java 中基于 if 语句在实用程序类中创建对象? (或基于特定字符串)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:35:05 25 4
gpt4 key购买 nike

我会将一个字符串解析为一个数组,如下所示:

class Example extends ParentClass {
private String[] array;

public static Example parseString(String lineToParse) {
array = lineToParse.split("\");
}

public ObjectType1() { // arguments: String, String, String
}

public ObjectType2() { // arguments: String, String, String, double, double
}
}

我想知道我可以这样做吗?

if (array[0].equals("Test")) {
public ObjectType1()
}

或者有更好的方法吗?

我想创建各种对象,每个对象都有不同的参数,第一个参数 (array[0]) 将适用于每个对象,所以我想知道我是否可以在 if 这样的语句,或者 switch(不确定这是否可行)。

最佳答案

我相信 factory method对你有用,一个根据接收到的参数返回类实例的方法:

// ObjectType1, ObjectType2, ObjectType3 inherit from ObjectType
static ObjectType getInstance(String[] array) {
if (array[0].equals("Test"))
return new ObjectType1(array);
else if (array[0].equals("Test2"))
return new ObjectType2(array);
else
return new ObjectType3(array);
}

郑重声明,实际上您可以在一个方法中定义一个类,这是 Java 中的有效代码……当然,这不是一件好事:

// ObjectType1, ObjectType2 inherit from ObjectType
public ObjectType example(String[] array) {
if (array[0].equals("Test")) {
class ObjectType1 {
ObjectType1(String[] array) {
}
}
return new ObjectType1(array);
}
else {
class ObjectType2 {
ObjectType2(String[] array) {
}
}
return new ObjectType2(array);
}
}

关于java - 如何在 Java 中基于 if 语句在实用程序类中创建对象? (或基于特定字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956353/

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