問題タブ [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.

0 投票する
5 に答える
42091 参照

java - Collections.unmodizableSet()はJavaで何をしますか?

これは、指定されたセットの変更不可能なビューを返すことがわかりますが、これを実現するために修飾子をCollections.unmodifiableSet使用できない理由がわかりません。final

私の理解ではfinal、定数を宣言します:変更できないもの。したがって、セットが定数として宣言されている場合、それを変更することはできません。セットから何も削除できず、何も追加できません。

なぜ必要なのCollections.unmodifiableSetですか?

0 投票する
4 に答える
17808 参照

python - Pythonで関数がオーバーライドされないようにする方法

クラス関数をオーバーライド不可にする方法はありますか? javaのfinalキーワードのようなもの。つまり、オーバーライド クラスはそのメソッドをオーバーライドできません。

0 投票する
7 に答える
64319 参照

java - 最終オブジェクトを変更できるのはなぜですか?

私が取り組んでいるコードベースで次のコードに出くわしました:

INSTANCEとして宣言されfinalます。なぜオブジェクトを追加できるのINSTANCEですか?それはfinalの使用を無効にするべきではありません。(そうではありません)。

答えはポインタとメモリで何かをしなければならないと思いますが、確かに知りたいです。

0 投票する
3 に答える
1775 参照

scala - Scala と Java メモリ モデル

Java メモリ モデル (1.5 以降) は、フィールドfinalを非finalフィールドとは異なる方法で扱います。特に、this構築中に参照がエスケープされない限りfinal、コンストラクターのフィールドへの書き込みは、オブジェクトがデータ競合を介して他のスレッドで使用可能になった場合でも、他のスレッドで可視であることが保証されます。(非フィールドへの書き込みfinalは表示されるとは限らないため、それらを不適切に公開すると、別のスレッドがそれらを部分的に構築された状態で見る可能性があります。)

Scalaコンパイラがクラスのバッキングフィールドをfinal(非ではなく)作成する方法/場合に関するドキュメントはありますか? final言語仕様に目を通し、Web を検索しましたが、決定的な答えが見つかりません。(比較すると、@scala.volatile注釈フィールドを としてマークするように文書化されていますvolatile)

0 投票する
2 に答える
449 参照

java - なぜ私の内部クラスは非静的変数を見るのですか?

以前、内部の匿名クラスが「外部」クラスのフィールドを認識していなかったときに問題が発生しました。内部クラスに表示されるように、final変数を作成する必要がありました。今、私は反対の状況にあります。「outer」クラス「ClientListener」では、内部クラス「Thread」を使用し、「Thread」クラスには「run」メソッドがあり、「outer」クラスの「earPort」が表示されます。なんで?

0 投票する
5 に答える
252 参照

java - すべてのフィールドと変数を最終的にする理由はありますか?

私の現在のプロジェクトでは、すべてのクラスフィールドとメソッド内の変数が可能な限りfinal修飾子で宣言されていることに気づきました。

ここのように:

そうする理由はありますか?

ps私が知っているように、プロジェクトはマルチスレッド化されるべきではありません(少なくとも私はそれについて何も聞いていません)。

0 投票する
3 に答える
649 参照

java - スレッドのrun()メソッドの最後の列挙型

Elvis elvis定義をThreadrun()メソッド内で使用するためにfinalにする必要があるのはなぜですか?

0 投票する
5 に答える
873 参照

java - 最終プロパティを初期化するコードの繰り返しを避けるには?

}

0 投票する
3 に答える
3761 参照

java - Javaで例外が発生した場合にデフォルト値を最終変数に割り当てる

例外が発生した場合に最終値を書き込むことができない場合でも、Java が try ブロックに値を設定した後、catch ブロックの最終変数に値を代入させないのはなぜですか。

問題を示す例を次に示します。

この問題を回避するのは難しくありませんが、コンパイラがこれを受け入れない理由を理解したいと思います。

ご意見をお寄せいただきありがとうございます。

0 投票する
5 に答える
1622 参照

java - Java:「publicstaticfinal」例外としてのstartingPath

[更新、変更について申し訳ありませんが、実際の問題になりました] メソッドgetCanonicalPath()からの例外のために、そこにtry-catch-loopを含めることはできません。私は以前にメソッドを使用して問題を解決し、そこで値を宣言しようとしました。問題はそれが最終的なものであり、私はそれを変更することができないということです。したがって、startingPathを「publicstaticfinal」にする方法。