草庐IT

反射率

全部标签

java - 通过反射获取枚举的值

我有一个这样声明的枚举:publicenumMode{RUNNING("SytemRunning"),STOPPED("SystemStopped"),IDLE("tmpIdle");publicstaticStringkey;privateMode(Stringkey){this.key=key;}}现在,我想通过反射获取此枚举的键(SystemRunning、SystemStopped、tmpIdle):Classc=Class.forName("Mode");Object[]objects=c.getEnumConstants();//nowthisisnotwhatIwant,

java - 使用反射初始化数组

请有人帮助理解我们如何使用反射在java中初始化数组。对于一个简单的对象,我们可以这样做:Classl_dto_class=Class.forName(p_fld.getType().getName());Objectl_dto_obj=l_dto_class.newInstance();但对于数组,它给了我异常(exception)。java.lang.InstantiationException 最佳答案 你可以像这样实例化数组:if(l_dto_class.isArray()){ObjectaObject=Array.newI

java - 多维长度数组反射java

java中如何通过反射求多维数组的长度? 最佳答案 多维数组没有“长度”之类的东西;它可能不是矩形的。我猜你说的是维数。您需要迭代地深入其中并进行计数。publicintgetDimensionCount(Objectarray){intcount=0;ClassarrayClass=array.getClass();while(arrayClass.isArray()){count++;arrayClass=arrayClass.getComponentType();}returncount;}

java - 通过 Java 中的反射设置私有(private)字段的最短、最好、最干净的方法是什么?

您好,我已经在J​​ava中使用过反射。但是,如果您使用的是Java标准(例如注入(inject)私有(private)字段),则必须编写大量代码才能完成工作。在Java对象中注入(inject)私有(private)字段的最短方法是什么?在广泛使用和生产就绪的库中是否有实现? 最佳答案 在不使用外部库的情况下,您需要:获取Field实例将字段实例设置为可访问设置新值如下:Fieldf1=obj.getClass().getDeclaredField("field");f1.setAccessible(true);f1.set(ob

java - 我如何只获得带有反射的可实例化类

这个问题在这里已经有了答案:HowcanIdeterminewhetheraJavaclassisabstractbyreflection(3个答案)关闭9年前。我正在使用reflectionspackage得到一组实现某个接口(interface)的类。该集合将用作可能的命令行选项列表。我的问题是我只想获得可实例化的类,但现在从以下代码中同时获得可实例化和不可实例化的类(例如抽象类):Map>optimizerList=newHashMap>();Reflectionsreflections=newReflections("eva2.optimization.strategies")

java - 更新 JOptionPane 以反射(reflect)组件状态更改

在我的GUI项目中有一个方法用于显示一个带有多个组件的JOptionPane,其中2个组件是ButtonGroups和2个JRadioButtons在每个中,在第一组中默认选择第一个按钮,在第二组中默认选择第二个按钮,在第二组中我想禁用第一个按钮直到选择第一组中的第二个按钮即如果用户对BG1中的默认选择感到满意,则他们无法在BG2中进行选择,只有在BG1中进行第二次选择后,他们才能在BG2中进行其他选择。JOptionPane可以实现这种行为吗?一直在查看JDialog、JOptionPane的教程并进行其他研究,但这些都没有证明对这种情况有帮助。如果有人能给我一些可能的解决方案的方向

Java 反射性能在打包为 jar 时下降

我真的很头疼。我尝试了一切,到处搜索。它来self继承的测试JAR的应用程序。(它由一个GUI前端和一个执行实际检查的命令行应用程序组成。GUI通过在其自身上启动一个新的JVM[java-cp"itself.jar"com.different.mainClass]。这是一个糟糕的设计,我知道,但可能是相关的。)无论如何,这个程序包含一些嵌套在两个for循环中的反射调用。问题是当应用程序被JARed时,第一次反射调用每次迭代只花费一秒钟。但是当它从类中运行时,它需要几毫秒。实际上,这意味着这个命令:java-jarmyjar.jar需要几个小时。这个命令:java-cp"...[bunc

java - 使用 Jaxb 和 JDK 9 的小程序中的非法反射访问

这个问题在这里已经有了答案:ProperfixforJava10complainingaboutillegalreflectionaccessbyjaxb-impl2.3.0?(4个答案)关闭去年。我有一个Java小程序,它提供了一个GUI来调用Web服务。它使用Jaxb解析XML数据并将其解码为对象。它可以在Java1.5到1.8中正确运行。有了Java9,就没有那么多了。我使用容器HTML在InternetExplorer8+JDK9中启动它:小程序加载正常,似乎工作正常;然而,一旦我连接到Web服务,它就会停止工作。有点。我已经将它缩小到这个代码片段(其中Foo是一个带有XML绑

java - 是否可以在使用反射时创建匿名类?

我希望能够在运行时实现一个在对象运行初始值设定项之前调用的方法。这将允许我设置在初始化期间使用的字段。这是一个例子:classA{publicA(){initialize();}publicvoidinitialize(){}}classBextendsA{publicStringmessage;{System.out.println(message);}}publicclassMainClass{publicstaticvoidmain(finalString[]args)throwsException{ClassaClass=(Class)Class.forName(args[0]

java - Maven 项目的源文件的更改未反射(reflect)在 tomcat 中

我的Maven项目处于最后阶段。我已经使用mvntomcat7:deploy命令将我的war文件部署到正在运行的tomcat实例,并且war文件在webapps文件夹中展开。我可以通过url访问war文件中的所有源文件。但问题是,当我更改源文件(jsp和servlet)中的任何内容时,更新的war文件不会反射(reflect)在正在运行的tomcat服务器中。我的pom.xml如下。4.0.0com.ceino.mavenMavenWebwar1.0-SNAPSHOTMavenWebMavenWebapphttp://maven.apache.orgjunitjunit3.8.1tes