Java 字符串值作为语句的一部分?

标签 java string

我有一个声明为保存信息的类。假设它有这些字段

class data {
   int a;
   int b;
   int c;
}

我想像这样访问这些字段:

String [] fields = {"a", "b", "c"};
data da = new data();
for (int i = 0; i < 3; i++) 
   if (da.fields[i] < 10)
      dosomething();

Java 中有什么方法可以做到这一点吗?谷歌搜索,我得到了一些关于“反射”的结果,但我从未真正听说过,而且我认为这不是我想要的。有没有办法在 Java 中做到这一点?如果没有,是否有任何语言支持这种事情(出于好奇)?

最佳答案

反射可能是您所需要的。但您更需要的是认真审视您的设计。您应该尽可能避免反射

如果您仍然对此感兴趣,请查看 Java Reflection: Fields .

Field field = aClass.getField("someField");

是您将如何获取该名称的字段。您想要的更详细的示例。

Class  aClass = MyObject.class
Field field = aClass.getField("someField");

MyObject objectInstance = new MyObject();

Object value = field.get(objectInstance);

field.set(objetInstance, value);

关于Java 字符串值作为语句的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14391505/

相关文章:

JavaFX TableView 文本对齐

java - 如何找到两个相邻的重复数字并将它们替换为Java中的单个数字?

jquery - 使用 jquery inarray() 搜索字符串变量返回 -1

c# - 对象到字节数组到字符串并返回

C# 字符串连接和字符串驻留

java - 在 Netbean 中构建 javafx 应用程序时出错(manifest.custom.codebase 属性)

java - 为两个不同的 JButton 设置不同的禁用颜色? (UIManager.getDefaults 更改两个按钮)

ios - 在 Swift 中将 UILabel 的一部分设为粗体

java - Viewscoped 托管 bean 和 Portlet

java - 导入 libcore.io.DiskLruCache 失败