草庐IT

class_id

全部标签

java - 为什么使用 "this"关键字来获取父类(super class)方法

我看到一些Java示例使用this关键字来获取父类(superclass)方法。示例:this.superClassMethod()。通常情况下我们会使用super。有人可以举例说明为什么开发人员使用this而不是super吗?谢谢你。 最佳答案 this.method()和super.method()没有区别,直到method()得到在调用者的类中覆盖。例如,用classSuperClass{publicvoidmethod(){System.out.println("SuperClass");}}classSubClassext

java - 当枚举类型引用是 Class<?> 时,如何将 String 转换为枚举值?

我有代码使用其setter方法在对象上设置值。其中一个setter将Enum类型作为方法参数。代码看起来像这样:Stringvalue="EnumValue1";Methodsetter=getBeanWriteMethod("setMyEnumValue");Classtype=setter.getParameterTypes()[0];ObjectconvertedValue=null;if(type.isEnum()){convertedValue=convertToEnum(value,type);}else{convertedValue=ClassUtils.convertT

java - 当方法的签名定义为 Collection<class> 时,为什么方法不能采用 Collection<subClass>

我有一个获取SResource对象列表的方法publicstaticListlistTriples(Listsubjects){//...dostuff}为什么我不能这样做ListresultsAsList=newArrayList();resultsAsList.addAll(allResults.keySet());//Icouldpossiblenotuselistsandjustusesetsandthereforegetridofthisline,butthatisadifferentissueListtriples=newArrayList();triples=Triple

java - 使用 log4j 在日志文件中打印线程 ID

我正在尝试在我的日志文件中打印正在执行日志记录的线程的ID。我通过log.info(Thread.currentThread().getId())在代码级别完成了它,其中“log”是Logger类对象,但这不是我真正想要的。实际上,我的应用程序是一个大型分布式应用程序,不可能在每个log.info("something")中添加Thread.currentThread().getId()代码。无论如何,我可以通过它在我的log4j.xml文件中进行任何更改并为我的代码中的每个log.info打印线程ID。这是我的log4j.xml现在我假设我可以在我的xml布局中添加一些东西来打印线程

java - Java内部类的两个问题(class A { class B { } })

抱歉标题不好,但我想不出更好的标题。我有一个A类和一个B类,它是A的子类,如下所示:(真的有正确的名字吗?“子类”不是为继承保留的吗?)classA{inti=0;classB{intj=1;}}classTest{publicstaticvoidmain(){Aa=newA();Bb=a.newB();Ac=???b???//get"a"back}}从B可以访问A的每个属性,因此a.i和b.i都返回0。现在,我想知道是否有可能从b中检索A类型的原始对象,因为b包含所有一个包含?简单的转换显然无法解决问题。第二个:classA{voidprint(){System.out.printl

java - 父类(super class)的私有(private)方法是如何解决的?

classA{privatevoidsayA(){System.out.println("PrivatemethodofA");}publicstaticvoidmain(Stringargs[]){AinstanceA=newB();instanceA.sayA();}}classBextendsA{}我原以为它会抛出一个运行时异常,因为在编译时编译器检查是否可以在A的引用上调用sayA()并在运行时-time它将检查sayA()是否可以在B的对象上调用。但它反而打印了“A的私有(private)方法”。 最佳答案 可访问性是一个

java - 异常获取服务器实例 : No valid instance id for this instance

当我在我的本地主机GoogleAppEngine应用程序中将日志记录级别更改为FINE时,我开始在我的跟踪堆栈中看到这些:Apr17,20134:54:20PMcom.google.appengine.tools.development.DevAppServerServersFiltergetCurrentServerInstanceFINE:Exceptiongettingserverinstancecom.google.appengine.api.labs.servers.ServersException:Novalidinstanceidforthisinstance.atcom

java - Spring Security 3.0 Google Apps 使用 OpenID4Java 打开 id 登录

我尝试使用带有OpenID4Java库的GoogleAppsopenid登录。我在消费者类中使用以下代码发现用户的服务:try{discoveries=consumerManager.discover(identityUrl);}catch(DiscoveryExceptione){thrownewOpenIDConsumerException("Errorduringdiscovery",e);}DiscoveryInformationinformation=consumerManager.associate(discoveries);HttpSessionsession=req.g

java - 使用 Eclipse,如何在 Content Assist 中隐藏父类(super class)方法?

例如,我有:JPanelpan=newJPanel();然后我做“平移”。eclipse显示内容辅助。在这个内容帮助中,有JPanel类中的所有方法和所有JPanel父类(superclass)中的所有方法(很多)。我希望eclipse仅向我显示JPanel类的方法,而不是其父类(superclass)的方法。怎么做? 最佳答案 它不是内容辅助,但您可以使用Ctrl+O查看没有父类(superclass)的类的所有方法。 关于java-使用Eclipse,如何在ContentAssist

java.lang.ClassFormatError : Duplicate method name&signature in class file 错误

我们正在将我们的应用程序从Weblogic10.3.0升级到10.3.6。当我们尝试部署它时,我们收到错误:java.lang.ClassFormatError:Duplicatemethodname&signatureinclassfile...经过进一步调查,我们发现问题是由如下代码引起的:interfaceFoo{voidfoo();}interfaceBar{voidfoo();}interfaceBazextendsFoo,Bar{}BazEJBimplementsBaz....这会导致在Baz中生成2个foo方法....ELOImpl.class,这会在我们尝试部署ear文