我有 3 个名为 A、B 和 C 的整数。它们将与数字 52 相乘。我有一个字符串,其中包含我想要乘以的整数的名称(在下面的示例中,我的字符串 type == A;
.
我想知道是否有办法将 String 的名称更改为我希望使用的对象/int 的名称。
我现在拥有的:
public class MultiplySomeNumbers{
int A = 100;
int B = 200;
int C = 300;
String type = "A";
final int multiplied = 52;
public int multiply(String type){
return multiplied* ____ //What goes here?
}
}
我不想做这样的事:
public int multiply(String type){
if(type.equalsIgnoreCase("A"){
return multiplied*A;
}else if(type.equalsIgnoreCase("B"){
...
如有任何帮助,我们将不胜感激!
最佳答案
不,那是不可能的(也许使用反射,但仍然不行)。您认为可能需要它的每一种情况都不需要。
有几个问题,但这里有一些:
- 对那些生成的变量没有智能感知
- 非常不清楚的代码
- 命名不明确(如果您创建的新变量恰好与生成的变量同名怎么办?)
- 等等等等
您将不得不选择第二个选项。
我们也许能够提供不同的解决方案,但问题目前还不清楚。也许您可以扩展一点,以便我们更好地帮助您。
关于java - 从字符串更改为对象名称 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20109909/