java - 从字符串更改为对象名称 Java

标签 java string object int

我有 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/

相关文章:

c# - 是否可以从 C# 中的对象修改或删除匿名类型?

python - 如何将文件结构表示为 python 对象

java - 传递给ArrayAdapter和RecyclerView适配器的 View 和ViewGroup是什么?

IBM Websphere 中的 Java VisualVM JMX 连接

c# - 奇怪的 String.Format() - 输入字符串的格式不正确

javascript - 单击时将嵌套数组/对象值显示到单独的元素中

java - 从 Ubuntu 10.04 LTS 升级到 12.04 LTS 后,Eclipse SVN 提交 "fails"

用于跟踪部分聚合值的 Java 算法

C# 字符串操作 : From "TABLE_NAME" to "TableName"

python - 如何在 python 中重新搜索()多个模式?