草庐IT

this-reference

全部标签

Java EE 异常 : Name java:comp is not bound in this Context

我在Netbeans7.2.1中安装了JavaEE应用程序。尝试部署它(构建结束正常),我在Tomcat日志中收到错误:Causedby:javax.naming.NameNotFoundException:Namejava:compisnotboundinthisContextatorg.apache.naming.NamingContext.lookup(NamingContext.java:770)atorg.apache.naming.NamingContext.lookup(NamingContext.java:153)atjavax.naming.InitialContex

java - 为什么我们不能用java中的 "this"关键字创建一个对象呢?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我见过一些地方,其中对象创建工厂是通过引用类对象并使用create方法来实现的:class.newInstance(),它使用反射,与直接调用默认构造函数相比可能效率不高。如果java支持像returnnewthis();这样的东西,我可以在父类中实现它,这将作为工厂方法工作(如果没有这样的构造函数,则会抛出异常和class.newInstance()一样。为什么不支持这样的东西?PS:我在sta

java - 为什么匿名类即使不需要也捕获 "this"?

给定这段代码:classFoo{}publicclassTest{publicFoomakeFoo(Stringp,Stringq){returnnewFoo(){publicvoiddoSomething(){System.out.println(p);}};}}当你编译它并运行javap-c-p'Test$1.class'时,你会得到这个:Compiledfrom"Test.java"classTest$1extendsFoo{finaljava.lang.Stringval$p;finalTestthis$0;Test$1(Test,java.lang.String);Code:

java - Mockito doReturn : ambiguous reference to overloaded definition

我正在尝试将Scala系统移植到Mockito2。有一些使用doReturn的测试用例,现在在Mockito2.18.0中我得到这个错误:Error:(34,5)ambiguousreferencetooverloadeddefinition,bothmethoddoReturninobjectMockitooftype(x$1:Any,x$2:Object*)org.mockito.stubbing.StubberandmethoddoReturninobjectMockitooftype(x$1:Any)org.mockito.stubbing.Stubbermatchargume

java - org.hibernate.AnnotationException : A Foreign key refering has the wrong number of column. 应该是 2

我有上面截图中的表格类的写法如下@EntitypublicclassObject{@Idprivateintid;privateStringname;@OneToMany(mappedBy="object",fetch=FetchType.LAZY)privateListattrubuteList;}@EntitypublicclassObjectAttribute{@Idprivateintid;@Id@ManyToOne@JoinColumn(name="objectId")privateObjectobject;privateStringname;}@Entitypubliccl

Java8 : Is there a way to get an instance method reference from a class method reference?

例如,如果我有这样的界面:publicinterfaceFooBar{Bfoo(Aa);Bbar(Aa);}有没有办法像FooBar::bar那样获取类级别的方法引用?并获取实例方法引用?即。如果我有FooBarmyFooBarInstance;BiFunction,A,B>barFunction=FooBar::bar;有什么简单的方法可以得到Function与我定义的实例相匹配的实例FunctionmyBarFunction=myFooBarInstance::bar; 最佳答案 您想要做的在函数编程世界中被称为“部分函数应用程

java - java "this"关键字是如何实现的?

this指针如何指向对象本身?是java实现还是编译器实现? 最佳答案 在JVM字节码中,局部变量0(基本上是寄存器0)在调用方法时指向当前对象。编译器简单地使用this作为局部变量0的别名。所以我猜答案是编译器实现了this。 关于java-java"this"关键字是如何实现的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8926095/

java - 何时在 Java 中使用 "this"

对于我的琐碎且可能愚蠢的问题,我深表歉意,但对于在使用方法或访问某些内容时何时使用“this”前缀,我感到有些困惑。例如,如果我们看#4这里:http://apcentral.collegeboard.com/apc/public/repository/ap_frq_computerscience_12.pdf我们在这里查看解决方案:http://apcentral.collegeboard.com/apc/public/repository/ap12_computer_science_a_q4.pdf我们看到a)部分的一个解决方案是publicintcountWhitePixels(

java - 在 Java 1.7+ 上,我们是否仍需要使用 StringBuffer.append 转换 "this string"+ "should"+ "be"+ "joined"以获得最佳实践?

在Java1.7+上,我们是否仍需要使用StringBuffer.append转换“thisstring”+“should”+“be”+“joined”以获得最佳实践? 最佳答案 1)像"thisstring"+"should"+"be"+"joined"这样的常量表达式(JLS15.28)不需要StringBuilder因为它是在编译时计算成一个字符串“这个字符串应该加入”2)对于非常量表达式,编译器将自动应用StringBuilder。也就是说,"string"+var等同于newStringBuilder().append("

java - java 中的 this 和 super

this和super是关键字,不是吗?那么我如何使用它们以与方法相同的方式将参数传递给构造函数?简而言之,两者如何表现出如此不同的行为?? 最佳答案 this和super都是关键字是正确的。Javalanguagespecification明确定义他们必须如何表现。简短的回答是这些关键字的行为特殊,因为规范规定它们必须这样做。根据规范this可以使用primaryexpression(仅在某些地方)或在explicitconstructorinvocation.Thekeywordthismaybeusedonlyinthebody