if (type.equalsIgnoreCase("Android")) {
return new AndroidApi;
} else if (type.equalsIgnoreCase("iOS")) {
return new IosAPi;
} else if (type.equalsIgnoreCase("Windows")) {
return new WindowsApi;
}
我如何创建对象而不是 if 条件 那里有 20 个端点。
最佳答案
您可以将 API 实现的类型和供应商放在一个映射中,例如:
public static final Map<String, Supplier<Api>> supplierMap = Map.of(
"android", AndroidApi::new,
"ios", IosApi::new,
"windows", WindowsApi::new
);
public static Api getApi(String type) {
return supplierMap.get(type.toLowerCase()).get();
}
假设它们都实现了一个接口(interface)。 你可以这样调用上面的方法:
Api api = getApi("Android");
关于java - 如何在 Single 方法中为不同的端点创建对象,而不是在 java 中使用 if 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54839264/