我有一个使用XML和反射的Object类将s 返回到另一个类.
通常这些对象是外部对象的子字段,但偶尔它是我想要动态生成的东西.我尝试过类似的东西,但无济于事.我相信这是因为Java不允许您访问private反射方法.
Element node = outerNode.item(0);
String methodName = node.getAttribute("method");
String objectName = node.getAttribute("object");
if ("SomeObject".equals(objectName))
object = someObject;
else
object = this;
method = object.getClass().getMethod(methodName, (Class[]) null);
Run Code Online (Sandbox Code Playgroud)
如果提供的方法是private,它失败了NoSuchMethodException.我可以通过制作方法public或使另一个类从中派生它来解决它.
长话短说,我只是想知道是否有办法private通过反射访问方法.
在Java中是否可以通过反射访问私有字段str?例如,获取此字段的值.
class Test
{
private String str;
public void setStr(String value)
{
str = value;
}
}
Run Code Online (Sandbox Code Playgroud) 这种方法能true以某种方式返回吗?
public static <T> boolean isVoid(T t)
{
return t instanceof Void;
}
Run Code Online (Sandbox Code Playgroud) 假设我有很多字符串变量(例如100):
String str1 = "abc";
String str2 = "123";
String str3 = "aaa";
....
String str100 = "zzz";
Run Code Online (Sandbox Code Playgroud)
我想将这些String变量添加到ArrayList,我现在正在做的是
ArrayList<String> list = new ArrayList<String>();
list.add(str1);
list.add(str2);
list.add(str3);
...
list.add(str100);
Run Code Online (Sandbox Code Playgroud)
我很好奇,有没有办法使用循环?例如.
for(int i = 1; i <= 100; i++){
list.add(str+i)//something like this?
}
Run Code Online (Sandbox Code Playgroud) java ×5
reflection ×2
arraylist ×1
generics ×1
instanceof ×1
private ×1
string ×1
tdd ×1
unit-testing ×1
void ×1