Pup*_*vin -3 java reflection variables
我有一个存储大量int成员变量的类,每个变量定义如下:
public final static int int1 = int1value;
public final static int int2 = int2value;
...
public final static int int106 = int106value;
Run Code Online (Sandbox Code Playgroud)
还有第二个类需要根据int第一个类中的s 数进行循环.我如何向第一个类添加一个函数来计算这些成员变量?
你是如何存储的?在int[]数组或List<Integer>列表中我假设?那将是最合乎逻辑的选择.然后你可以通过intArray.length或获取数字intList.size().
这些都是所有声明为public static final int字段?为什么不将计数添加为另一个public static final int字段?你事先就已经知道了!或者它必须是第三方课程,你不能以任何方式改变.在原始问题中应该更加明确.
package com.stackoverflow.q2203203;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class Test {
public static final int i1 = 1;
public static final int i2 = 2;
public static final int i3 = 3;
public static void main(String[] args) throws Exception {
int count = 0;
for (Field field : Test.class.getDeclaredFields()) {
if (field.getType() == int.class) {
int modifiers = field.getModifiers();
if (Modifier.isPublic(modifiers)
&& Modifier.isStatic(modifiers)
&& Modifier.isFinal(modifiers))
{
count++;
}
}
}
System.out.println(count); // 3
}
}
Run Code Online (Sandbox Code Playgroud)