草庐IT

inner-classes

全部标签

java - 为什么 Tomcat 在取消部署时会抛出 'java.lang.IllegalStateException: Class invariant violation'?

我有一个网络应用程序(Tomcat6,log4j1.2.16),它以一个监听器开始。取消部署应用程序会引发以下异常:INFO(HqListener.java:28)-HqListenerexited!log4j:ERRORlog4jcalledafterunloading,seehttp://logging.apache.org/log4j/1.2/faq.html#unload.java.lang.IllegalStateException:Classinvariantviolationatorg.apache.log4j.LogManager.getLoggerRepository

返回 Class<T extends Somethng> 实例的 java 方法

我有这个代码:publicClassgetScrapper(){returnMyScrapper.class;}MyScrapper是一个实现Scrapper的类界面。为什么这不起作用?你在JDK7中遇到以下错误:error:incompatibletypesrequired:Classfound:ClasswhereTisatype-variable:TextendsScrapperdeclaredinmethodgetScrapper()附言老实说,我已经尝试搜索整整30-40分钟。更新:如果我将方法声明为publicClassgetScrapper(){有用。但我仍然不明白为什么

java - 线程 "main"java.lang.NoClassDefFoundError : Could not initialize class com. sun.jersey.core.header.MediaTypes 中的异常

我正在尝试运行Jersey客户端并面临这个问题。WS类:importjavax.ws.rs.GET;importjavax.ws.rs.Path;importjavax.ws.rs.Produces;importjavax.ws.rs.QueryParam;importjavax.ws.rs.core.MediaType;importjavax.ws.rs.core.Response;@Path("/hello")publicclassHelloWorldService{@GET@Path("/vip")@Produces(MediaType.APPLICATION_JSON)publ

java - 为什么内部类的子类需要封闭实例?

考虑具有InnerClass的类OuterClasspublicclassOuterClass{classInnerClass{}}第二个类,它试图扩展OuterClass的InnerClasspublicclassClazzextendsOuterClass.InnerClass{publicClazz(OuterClassouterClass){outerClass.super();}}到目前为止一切顺利,这段代码可以工作,编译器应该不会发出警告。但我想了解-为什么有必要将其传递给OuterClass的构造函数引用?为什么有必要调用它的super构造函数?我想了解为什么必须这样精确

java - 如何使 Class.getMethod() 抛出 SecurityException

我有一个实用方法可以为特定字段查找对象的getter方法(使用反射):publicstaticMethodfindGetter(finalObjectobject,finalStringfieldName){if(object==null){thrownewNullPointerException("objectshouldnotbenull");}elseif(fieldName==null){thrownewNullPointerException("fieldNameshouldnotbenull");}StringgetterName=getMethodNameForField

java - 内部类非final变量java

我需要更改内部类中的变量,但我遇到了臭名昭著的“无法引用在不同方法中定义的内部类中的非最终变量”错误。voidonStart(){bt.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewv){intq=i;}});}我很快创建了一个包含所有我想要更改的内容的类,并在内部类之外创建了该类的最终版本classtemp{intq;}voidonStart(){finaltempx=newtemp();bt.setOnClickListener(newView.OnClickListener(){publicv

java - 在 callable.call 中没有关闭的 BufferedReader 会发生什么?

我有三个问题。解释一下,我正在审查某人的代码,并注意到BufferedReader有时没有被关闭。通常,Eclipse会发出警告,指出这是潜在的内存泄漏(我会修复它)。但是,在Callable内部类中,没有警告。classouterClass{...publicvoidsomeMethod(){Futurefuture=outputThreadPool.submit(newinnerClass(this.myProcess.getInputStream(),threadName));...}classinnerClassimplementsCallable{privatefinalIn

java - 即使父类(super class)实现了相同的接口(interface),在子类中实现接口(interface)有什么好处吗?

当我看到ArrayList的声明时classArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable它实现了List接口(interface),即使ArrayList的父类(superclass)AbstractList实现了相同的List接口(interface)。abstractclassAbstractListextendsAbstractCollectionimplementsList类似的声明可以在HashMap、LinkedHashMap声明中找到。在Link

java 泛型 : getting class of a class with generic parameters

我很好奇这个怎么实现Class>food=Map.class;这显然行不通。我想要这样的东西Class>food=Map.class;但这似乎不是有效的java语法。如何让这个工作?编辑:我想要这个的原因是因为我有这样的方法protectedConfigValuegetSectionConfig(Stringname,ClassconfigType){returnconfig.getConfig(name);}我想这样调用它ConfigValue>config=getSectionConfig("blah",Map.class>);Mapval=config.value();

java - jackson 忽略外部库中父类(super class)的所有属性

我正在使用ORM进行开发,我在其中扩展基orm类以创建表。例如:publicclassPersonextendsDbItem{@JsonIgnoreprivateStringindex;privateStringfirstName;privateStringlastName;}问题是,当我使用ObjectMapper进行序列化时,它会尝试序列化DbItem类的成员。有什么简单的方法可以防止这种情况发生吗?例如带有注释。我看过一个类似的问题Jacksonserialization:howtoignoresuperclassproperties但我希望它可以做得更简单,我不确定我是否可以这