Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当没有中间变量时,在eclipse调试器中操纵返回值_Java_Eclipse_Debugging_Return Value - Fatal编程技术网

Java 当没有中间变量时,在eclipse调试器中操纵返回值

Java 当没有中间变量时,在eclipse调试器中操纵返回值,java,eclipse,debugging,return-value,Java,Eclipse,Debugging,Return Value,如果以前没有给中间变量赋值,是否有方法使用eclipse调试器更改/定义方法返回的值 例如,我有一些第三方封闭源代码 java.lang.Class.classForName,如下所示 public static Class<?> forName(String className) throws ClassNotFoundException { return forName0(className, true, ClassLoader.get

如果以前没有给中间变量赋值,是否有方法使用eclipse调试器更改/定义方法返回的值

例如,我有一些第三方封闭源代码 java.lang.Class.classForName,如下所示

  public static Class<?> forName(String className)
              throws ClassNotFoundException {
      return forName0(className, true, ClassLoader.getCallerClassLoader());
  }
公共静态类forName(字符串className)
抛出ClassNotFoundException{
returnforname0(className,true,ClassLoader.getCallerClassLoader());
}
classloader.getCallerClassLoader()获得的classloader无法加载该类,因此我想试试Thread.currentThread().contextClassLoader是否更幸运。 实际上,我想要的是:

   public static Class<?> forName(String className)
               throws ClassNotFoundException {
       return forName0(className, true, Thread.currentThread().contextClassLoader);
   }
公共静态类forName(字符串className)
抛出ClassNotFoundException{
返回forName0(className,true,Thread.currentThread().contextClassLoader);
}
这有可能吗?请注意,forName0是一个本机方法。

进入静态方法,看看是否可以在那里进行调整。 它可能正在加载静态的东西

您可以使用的运行时编织来应用您自己的自定义特性来替换返回值


您也可以尝试。

返回值确实被第三方应用程序使用(这里的目的是通过其字符串名称获取类,而不是进行初始化),它抱怨为null(因为原始类加载器无法加载)。嗨,我用其他方法解决了我的问题,所以我没有进一步研究您的建议。看起来,他们似乎做了我想做的,所以我会把你的答案标记为被接受的答案。