草庐IT

this_needs_servo

全部标签

java - 使用 "return this"时返回类是什么?

我开始学习Java,但我无法理解“ThinkinginJava”一书中的一个示例。在这个例子中,作者表示,正如他所说的“简单使用'this'关键字”://Leaf.java//simpleuseofthe"this"keywordpublicclassLeaf{inti=0;Leafincrement(){i++;returnthis;}voidprint(){System.out.println("i="+i);}publicstaticvoidmain(String[]args){Leafx=newLeaf();x.increment().increment().increment

java - Eclipse 空分析 : The expression of type int needs unchecked conversion to conform to '@Nonnull Integer'

在配置Eclipse4.2.0执行null分析时(配置使用@javax.annotation.Nonnull等),下面的代码会产生警告Nulltypesafety:Theexpressionoftypeintneedsuncheckedconversiontoconformto'@NonnullInteger'classC{staticvoidfoo(inti){bar(i);//Warning}staticvoidbar(@javax.annotation.NonnullIntegeri){}}我该如何解决这个问题(不使用@SuppressWarnings("null"))?分析器似

java - 如何在不使用 this 的情况下在接口(interface)默认方法内进行同步?

我在需要同步的接口(interface)中有许多默认方法,似乎只有this可用:defaultvoidaddUniqueColumns(Listnames){synchronized(this){...dosomething}}问题是,我想在私有(private)锁上同步而不是this以便更好地控制:defaultvoidaddUniqueColumns(Listnames){synchronized(lock){//howtogetaprivatelockinadefaultmethod??...dosomething}}解决方案?聪明的解决方法?或者只是忍受它:)!

java - 从使用 <T extends TestClass> 泛化的通用方法返回 this

为什么我不能在Java中这样做:publicclassTestClass{publicTtest(){returnthis;//errorhere}}据我了解,this将始终是某个扩展TestClass的类的实例,那么为什么编译器不允许上面的代码?即使我将扩展TestClass,this的类型仍然适合extendsTestClass。我收到以下错误:Error:(4,16)java:incompatibletypes:TestClasscannotbeconvertedtoT 最佳答案 假设你有SubTestClassextends

java - 单例对象工厂 : is this code thread-safe?

我有一个用于许多单例实现的通用接口(interface)。接口(interface)定义了可以抛出检查异常的初始化方法。我需要一个工厂来按需返回缓存的单例实现,想知道以下方法是否线程安全?UPDATE1:请不要建议任何第三部分库,因为由于可能的许可问题,这将需要获得法律许可:-)更新2:此代码可能会在EJB环境中使用,因此最好不要产生额外的线程或使用类似的东西。interfaceSingleton{voidinit()throwsSingletonException;}publicclassSingletonFactory{privatestaticConcurrentMap>CACH

java - 如果外部类被泛化,则不能从静态上下文中引用“Main.this”

为什么下面的代码没问题,但是一将T作为泛型添加到Main中,就抛出如下错误?'Main.this'cannotbereferencedfromastaticcontext//publicclassMain{-uncommentthisfortheerrortoappearpublicclassMain{publicstaticvoidmain(String[]args){newMain();}classTestNonStatic{}privatestaticclassTestStatic{publicTestStatic(TestNonStaticnonStatic){//thisis

java - 初始化 block 中的 "this"关键字是什么意思?

这个问题在这里已经有了答案:InJava,whatisthedifferencebetweenthis.method()andmethod()?(9个回答)Whatdoes"this"mean?[duplicate](6个答案)关闭8年前。这是我的代码:classStaticBlock{{println("initializerblock:"+message);}publicStaticBlock(Stringmessage){this.message=message;}privateStringmessage;}现在的问题是,在初始化block中{println("initializ

java - 使用 final 字段防止 "this"在构造过程中转义

publicclassApp{privatefinalAa;privatefinalServerserver;publicApp(){a=newA(this);//Bad,thisisescapingbeforeit'sinitialized.}@Subscribe//ThiseventfiressometimeafterAppisfinishedconstructing.publicvoidregisterStuff(RegisterEventevent){server=event.getServer();//Notpossibleduetofinalfieldandthisnotb

java - 为什么 Java 需要 "This method can be called at most once in a given Java Virtual Machine"?

在静态方法URL.setURLStreamHandlerFactory的Java文档中,有一条警告“此方法在给定的Java中最多只能调用一次虚拟机”。http://docs.oracle.com/javase/7/docs/api/java/net/URL.html#setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)简单看了下源码,URL类中有一个静态实例变量:staticURLStreamHandlerFactoryfactory;setURLStreamHandlerFactory只是将工厂分配给这个变量:pub

java - Spring OAuth2 "Full authentication is required to access this resource"

我正在尝试将SpringOAuth2用于我的其余应用程序。但看起来我犯了一个错误,我可以找到我在哪里做的。流程应该是:1.使用用户名和密码从/oauth/token获取token2.使用提供的token向/security发出请求方法安全配置:@Configuration@EnableGlobalMethodSecurity(prePostEnabled=true,proxyTargetClass=true)publicclassMethodSecurityConfigextendsGlobalMethodSecurityConfiguration{@AutowiredprivateS