问题标签 [final]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Java 的递归算法中保持“完成的事情”计数?
我有一个递归算法,它逐个字符地遍历字符串,并对其进行解析以创建树状结构。我希望能够跟踪解析器当前所在的字符索引(对于错误消息以及其他任何内容),但我并不热衷于实现像元组这样的东西来处理多个返回的类型。
我尝试使用 Integer 类型,在方法外部声明并传递给递归方法,但因为它是最终的,递归调用增量在我返回时被“遗忘”。(因为Integer值的递增使得传值对象引用指向一个新对象)
有没有办法获得类似于不会污染我的代码的工作?
java - 不可变类应该是最终的?
它在这篇文章中说:
因为它是不可变的,所以将其设为 final 是一个很好的理由。
我对此感到有些困惑......我知道从线程安全和简单的 POV 来看,不变性是一件好事,但似乎这些问题与可扩展性有些正交。那么,为什么不可变性是使类成为 final 的一个很好的理由呢?
java - 什么时候应该使用 final 作为方法参数和局部变量?
我发现了一些建议尽可能多地使用的参考资料(例如),我想知道这有多重要。final
这主要是在方法参数和局部变量的上下文中,而不是最终方法或类。对于常量,这显然是有道理的。
一方面,编译器可以做一些优化,让程序员的意图更加清晰。另一方面,它增加了冗长,优化可能是微不足道的。
这是我应该努力记住的事情吗?
java - 有没有办法在 Java 中实现代数类型?
在 Java 中,是否有可能强制一个类具有一组特定的子类而没有其他子类?例如:
我可以以某种方式强制不能创建 A 的其他子类吗?
java - 为什么 Java 中的 final 常量可以被覆盖?
考虑 Java 中的以下接口:
以及以下课程:
为什么类 A 有可能出现并覆盖接口 I 的最终常量?
自己试试:
java - 在 Java 中禁止继承的充分理由?
在 Java 中禁止继承的充分理由是什么,例如使用最终类或使用单个私有无参数构造函数的类?使方法成为最终方法的充分理由是什么?
java - 在 Java 中声明方法参数 final 是否有任何性能原因?
在 Java 中声明方法参数 final 是否有任何性能原因?
如:
相对:
假设bar
在foo()
.
java - 在 Java 中对变量使用 final 会改善垃圾收集吗?
今天我和我的同事讨论了final
在Java中使用关键字来改进垃圾收集。
例如,如果您编写如下方法:
在方法中声明变量final
将有助于垃圾收集在方法退出后从方法中未使用的变量中清理内存。
这是真的?
java - 为什么在 Java 中将局部变量和方法参数标记为“final”?
在 Java 中,您可以使用 final 关键字限定局部变量和方法参数。
这样做会导致无法在方法主体中重新分配 x 和 qwerty。
这种做法将您的代码推向不变性的方向,这通常被认为是一个优点。但是,它也倾向于使代码混乱,到处都出现“final”。您对 Java 中局部变量和方法参数的 final 关键字有何看法?
java - 如何在Java中获得等效的c ++常量指针?
当我将不可变类型对象(String, Integer,..) 作为 final 传递给方法时,我可以实现 C++ 常量指针的字符。但是我怎样才能在可变对象中强制执行这种行为呢?
我想要的只是防止 someMethod 修改 someObject 的状态而不对 someType 进行任何更改。这可能吗?