草庐IT

final_msg

全部标签

java - `final` 关键字等效于 Python 中的变量?

我在Python中找不到与Java的final等效的文档,有这样的东西吗?我正在创建一个对象的快照(用于在任何失败时进行恢复);一旦分配了这个备份变量,就不应对其进行修改——Python中类似final的特性会很好。 最佳答案 Java中的变量是final基本上意味着一旦您分配给一个变量,您就不能重新分配该变量以指向另一个对象。这实际上并不意味着该对象不能被修改。例如,以下Java代码运行良好:publicfinalListmessages=newLinkedList();publicvoidaddMessage(){message

java - 为什么 Java 内部类需要 "final"外部实例变量?

这个问题在这里已经有了答案:Whyareonlyfinalvariablesaccessibleinanonymousclass?(15个回答)Cannotrefertoanon-finalvariableinsideaninnerclassdefinedinadifferentmethod(20个回答)关闭7年前。finalJTextFieldjtfContent=newJTextField();btnOK.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.e

java - 为什么 Java 内部类需要 "final"外部实例变量?

这个问题在这里已经有了答案:Whyareonlyfinalvariablesaccessibleinanonymousclass?(15个回答)Cannotrefertoanon-finalvariableinsideaninnerclassdefinedinadifferentmethod(20个回答)关闭7年前。finalJTextFieldjtfContent=newJTextField();btnOK.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.e

java - 为什么将函数参数声明为 final?

我目前正在阅读Sams出版的《24小时内自学Android应用程序开发》一书。我对Java、Android或其他方面比较陌生。我在ActionScript3方面有非常扎实的背景,它与Java有足够的相似之处,语言本身并不难掌握,但我仍然对书中一些代码示例背后的基本原理有一些疑问。例如,下面是第9小时示例代码附带的一个函数:privatevoidprocessScores(finalTableLayoutscoreTable,XmlResourceParserscores)throwsIOException,XmlPullParserException{在此函数签名中,作者已将score

java - 为什么将函数参数声明为 final?

我目前正在阅读Sams出版的《24小时内自学Android应用程序开发》一书。我对Java、Android或其他方面比较陌生。我在ActionScript3方面有非常扎实的背景,它与Java有足够的相似之处,语言本身并不难掌握,但我仍然对书中一些代码示例背后的基本原理有一些疑问。例如,下面是第9小时示例代码附带的一个函数:privatevoidprocessScores(finalTableLayoutscoreTable,XmlResourceParserscores)throwsIOException,XmlPullParserException{在此函数签名中,作者已将score

java - final方法模拟

我需要使用mockito模拟一些带有final方法的类。我写了这样的东西@Testpublicvoidtest(){Bb=mock(B.class);doReturn("barcalled").when(b).bar();assertEquals("mustbe\"overrided\"","barcalled",b.bar());//bla-bla}classB{publicfinalStringbar(){return"fail";}}但它失败了。我尝试了一些“hack”并且它有效。@TestpublicvoidhackTest(){classNewBextendsB{public

java - final方法模拟

我需要使用mockito模拟一些带有final方法的类。我写了这样的东西@Testpublicvoidtest(){Bb=mock(B.class);doReturn("barcalled").when(b).bar();assertEquals("mustbe\"overrided\"","barcalled",b.bar());//bla-bla}classB{publicfinalStringbar(){return"fail";}}但它失败了。我尝试了一些“hack”并且它有效。@TestpublicvoidhackTest(){classNewBextendsB{public

java - 为什么要在 Java 中将局部变量和方法参数标记为 "final"?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。在Java中,您可以使用final关键字限定局部变量和方法参数。publicstaticvoidfoo(finalintx){finalStringqwerty="bar";}这样做会导致无法在方法体中重新分配x和qwerty。这种做法将您的代码推向

java - 为什么要在 Java 中将局部变量和方法参数标记为 "final"?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。在Java中,您可以使用final关键字限定局部变量和方法参数。publicstaticvoidfoo(finalintx){finalStringqwerty="bar";}这样做会导致无法在方法体中重新分配x和qwerty。这种做法将您的代码推向

java - final ArrayList 是什么意思?

通过将ArrayList(或其他Collection)设为final,我们可以获得哪些优势/劣势?我仍然可以向ArrayList添加新元素、删除元素并对其进行更新。但是最终的效果是什么? 最佳答案 Butwhatiseffectmakingit'sfinal?这意味着您不能重新绑定(bind)变量以指向不同的集合实例:finalListlist=newArrayList();list=newArrayList();//Since`list'isfinal,thiswon'tcompile就风格而言,我将大部分不打算更改的引用声明为f