相关疑难解决方法(0)

如何测试私有函数或具有私有方法,字段或内部类的类?

如何对具有内部私有方法,字段或嵌套类的类进行单元测试(使用xUnit)?或者通过内部链接(static在C/C++中)或在私有(匿名)命名空间中使其成为私有的函数?

为了能够运行测试而更改方法或函数的访问修饰符似乎很糟糕.

java tdd unit-testing

2593
推荐指数
36
解决办法
82万
查看次数

有什么方法可以调用私有方法吗?

我有一个使用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 reflection private

137
推荐指数
4
解决办法
12万
查看次数

Java中是否可以通过反射访问私有字段

在Java中是否可以通过反射访问私有字段str?例如,获取此字段的值.

class Test
{
   private String str;
   public void setStr(String value)
   {
      str = value;
   }
}
Run Code Online (Sandbox Code Playgroud)

java reflection

94
推荐指数
3
解决办法
13万
查看次数

"instanceof Void"总是返回false吗?

这种方法能true以某种方式返回吗?

public static <T> boolean isVoid(T t)
{
    return t instanceof Void;
}
Run Code Online (Sandbox Code Playgroud)

java generics instanceof void

23
推荐指数
2
解决办法
5897
查看次数

将多个String变量添加到ArrayList

假设我有很多字符串变量(例如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 string arraylist

1
推荐指数
1
解决办法
5万
查看次数