草庐IT

THIS_ARCH

全部标签

java - 为什么返回 this.variable 不是漏洞?

Sonar规则squid:S2384对此代码提出问题:publicDategetCreatedOn(){returncreatedOn;}遵循规则Mutablemembersshouldnotbestoredorreturneddirectly我知道我们不应该返回原始对象,而应该返回对象的副本。另一方面,Sonar没有针对这段代码提出问题:publicDategetCreatedOn(){returnthis.createdOn;}这段代码有什么不同?第二种情况我们不退回原件吗? 最佳答案 这是SonarJava(SonarQube

java - 如何使 `this`指向内部类具有相同方法名的外部类

假设我有以下代码:abstractclassMyStream{publicabstractIterablegetIterable();publicMyStreamappend(finalinti){returnnewMyStream(){@OverridepublicIterablegetIterable(){returncons(/*outerclass's*/getIterable(),i);}};}publicstaticIterablecons(Iterableiter,inti){/*implementation*/}}如何从同名内部类引用外部类的getIterable?My

java - 在单独的方法中初始化 Java 对象 : why this won't work

这是一件我不能说的事情,我很惊讶它不会起作用,但无论如何,找到这个案例的解释对我来说很有趣。假设我们有一个对象:SomeClasssomeClass=null;还有一个将这个对象作为参数来初始化它的方法:publicvoidinitialize(SomeClasssomeClass){someClass=newSomeClass();}然后当我们调用时:initialize(someClass);System.out.println(""+someClass);它将打印:null感谢您的回答! 最佳答案 Java是做不到的。在C#中

Java/JavaScript 日期 : Is this true?

假设用户在与应用程序服务器不同的时区从他的浏览器运行我的网络应用程序。我使用JavaScript的date.getTime()方法在客户端序列化一个日期。我通过Json发送生成的毫秒数,然后通过调用newDate(millisecondsFromJS)在服务器端创建一个JavaDate对象。我将它存储在MySql上,检索它,通过调用Java的date.getTime()再次序列化它,并通过Json再次将它发送给客户端。如果我用这些毫秒创建一个JavaScriptDate对象,它会得到原始日期吗?我已经成功完成了这个过程,但客户端和服务器目前处于同一时区。如果时区不同,我不确定日期是否会

java - 匿名类中 "this"的值与 lambda 表达式

我对匿名类和lambda表达式的不同行为有点困惑。当我使用lambda表达式时://Test.javaRunnabler1=()->System.out.println(this);Runnabler2=()->System.out.println(toString());@OverridepublicStringtoString(){return"HelloWorld!";}//inmainmethodnewTest().r1.run();newTest().r2.run();Output:HelloWorld!HelloWorld!使用匿名类时:Runnabler1=newRunn

c++编译报错:xxx was not declared in this scope

根本原因:变量、函数、或者类未声明或者定义。实际原因:被调用的代码,写在调用处的下面了,比如:voidfuncA(){ funcB(); //dosomething}voidfuncB(){ //dosomething}这就会报错:funcBwasnotdeclaredinthisscope.挪一下位置就好了:voidfuncB(){ //dosomething}voidfuncA(){ funcB(); //dosomething}编译通过。

java - javascript 的 'this' 关键字与 java 的 'this' 关键字有何不同?

javascript的“this”关键字与java的“this”关键字有何不同?任何实际示例将不胜感激。varcounter={val:0,increment:function(){this.val+=1;}};counter.increment();console.log(counter.val);//1counter['increment']();console.log(counter.val);//2在Java中:publicRectangle(intx,inty,intwidth,intheight){this.x=x;this.y=y;this.width=width;thi

java - 调试 Java 时,如果在 IntelliJ IDEA 中变量的名称为 "this$0",这意味着什么?

我正在努力理解this通过运行test来实现功能性ReactiveJava库在Debug模式下调用testSendStream并在测试执行时单步执行代码。上面的快照显示有一个名为this$0的奇怪命名的变量。这个名字从何而来?这个名字是什么意思?为什么这个变量有这个名字?给它起这个名字的原因是什么?这个名字肯定不是代码本身来的,是IntelliJ或者javac/java生成的。但是为什么?如果我用标签MysteryObject标记这个对象,看看会发生什么也很有趣。 最佳答案 this$0是Inner类(非静态嵌套类)中的“隐藏字段”

java.lang.IllegalStateException : getOutputStream() has already been called for this response 错误

当我尝试在客户端请求从服务器加载图像时出现以下异常:241132533[TP-Processor1]ERROR[/jspapps].[jsp]-Servlet.service()forservletjspthrewexceptionjava.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponse任何人都可以向我解释这个异常以及如何克服它吗? 最佳答案 我遇到了同样的问题,所以偶然发现了这个老问题。最后很容易摆脱异常:只需调用out

java - Java `this` 在继承情况下实际指的是什么?

为什么会产生以下Java代码:10superclass有问题的代码是:classSuperClass{inta;publicSuperClass(){this.a=10;}privatevoidanother_print(){System.out.println("superclass");}publicvoidprint(){System.out.println(this.a);this.another_print();}}classSubClassextendsSuperClass{inta;publicSubClass(){this.a=20;}privatevoidanothe