草庐IT

内部的

全部标签

java - JNI GetMethodID 不适用于内部类的构造函数

我有一个带有私有(private)子类的类。我想在JNI包装器中创建该子类的实例并将其返回。我用谷歌搜索并试图让它工作但没有成功(methodID为空)。有什么建议吗?JNIEXPORTjobjectJNICALLJava_some_Class_some_Jni_Method(JNIEnv*env,jobjectthis){jclasscls=(*env)->FindClass(env,"someClass$someSubclass");if(cls==NULL)printf("jclasserror.");jmethodIDmethodID=(*env)->GetMethodID(e

java - 从我们声明内部类的方法局部内部类访问局部变量

我正在学习Java,我正在学习的教程说Java不允许从方法m2()直接访问变量k(下面示例中m1()的局部变量),因为它们是在相同的方法中创建的m1()并且在编译时我会得到一个错误(除非k被声明为final)。他们说的原因是局部变量(k)是在方法调用期间创建的,方法执行完成后销毁,但是对象(o)是在实例化对象时创建的,并且在方法执行后仍然不能销毁。所以教程说,如果你在方法m2执行后调用方法m2()或对象o(我不知道这是怎么可能的),变量k将被破坏并且不可用。所以教程声称Java不允许这样的声明。(不对的地方欢迎指正)但是当我编译这个程序时工作正常。我错过了什么吗?我知道从我的解释角度来

java - 内部类是什么的语法糖?

简而言之,来自JavaInnerclassesarejustsyntacticsugar,solocksoninnerclasseshavenoeffectontheenclosingclass(andviceversa).内部类是什么的语法糖?换句话说,内部类是否可以根据其他更基本的构造进行等效重写?谢谢。 最佳答案 一个内部类,Inner,像这样:packagesome.pkg;classOuter{classInner{}}编译后变成这样的类:packagesome.pkg;classOuter$Inner{privatefi

java - 从监听器内部访问外部类?

我在A类中有一个监听器,我想将A类传递给监听器中的B类。通常我只会使用它,但随后我会得到触发监听器的事件。 最佳答案 A.this.(内部类this很少有用。确实,使用错误的this时出现bug是比较常见的。所以不幸的是它是默认值。12年后不会更改。) 关于java-从监听器内部访问外部类?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1806109/

java - 通过反射获取所有内部类

我有以下问题。我有这个漂亮的类,现在我想获取所有扩展该类的类(内部类)并用它填充“classList”。(当然是自动的)publicabstractclassCompoundReference{privatestaticList>classList=newArrayList>();@CompoundKey(gsType=User.class,dbType=UserDetailsMappings.class)publicstaticclassCUserextendsCompoundReference{}@CompoundKey(gsType=Catalog.class,dbType=Ca

java - 如何模拟私有(private)内部类

我有一个spring应用程序,我想在像这样的Controller上创建一个单一测试。问题是Wrapper类是private内部类,所以在测试中不理解Wrapper。是否可以在不更改Controller类的情况下使用Mockito模拟它。我可以使用prepareData()来获取对象的实例,但我不知道这是否可用于模拟该对象。谢谢@ControllerpublicclassController{privateclassWrapper{privateObject1field1;privateObject2field2;privateObject1method1(){...}privateOb

java - Try/Catch 内部或外部函数

我有一个关于使用try/catch的最佳实践的非常基本的问题。我有一个像这样的简单函数(DAO):publicvoidaddVehicle(Vehiclevehicle){em.getTransaction().begin();em.persist(vehicle);em.getTransaction().commit();}并在网络服务中使用DAO功能:@WebMethod(operationName="addVehicle")publicvoidaddVehicle(Vehiclevehicle){try{vehicleDAO.addVehicle(vehicle);System.

java - 使用 Jersey 测试框架模拟资源内部服务

我有一个使用服务的restAPI资源。该服务有一个带参数的构造函数。我想测试这个资源并模拟这个服务。这Question:HowtopassparameterstoRESTresourceusingJersey2.5没有帮助,因为他们使用了@Inject而我不能使用它。有什么建议吗?第二个问题是如何传递参数来测试这个资源:我的代码是:@Path("/2/{subversion:[0-3]}/users")publicclassUserResource{Loggerlog=Logger.getLogger(UserResource.class);privateMyServiceservic

java - 如何在 Java 中记录任意对象的内部信息?

我有一个结构未知的Java对象。现在我想将这个结构(属性及其值)输出到日志文件。当然,我有兴趣以递归模式执行此操作。是否有任何图书馆可以帮助我? 最佳答案 XStream非常擅长打印对象图,甚至在您的类中没有任何额外配置或额外代码的情况下处理循环(即不弄乱toString()的)。只需添加库,您就可以对任何东西执行此操作并获得漂亮、有用的输出:log.debug("Theobject:{}",newXStream().toXML(anyObject));这将为您提供XML输出。如果你更喜欢JSON,你可以通过更多的工作来获得它,如X

java - 如何将内部类添加到 Spring 应用程序上下文以进行单元测试?

我有一个bean,其业务逻辑从ApplicationContext加载特定类型的bean以处理它们。对于我的jUnit测试,我想在我的单元测试类中创建一些虚拟bean并查看我的被测bean是否正确处理它们。但是,我不确定实现此目标的最佳方法是什么。如果我只是在我的测试类中声明我的内部类,Spring不会将它作为其应用程序上下文的一部分。我意识到我可以在我的jUnit类中注入(inject)我的应用程序上下文,然后使用appContext.registerPrototype()添加它,但是,我认为使用注释可能有更简洁的方法。我试过用@Component注解内部类,但毫不奇怪,它没有用。p