問題タブ [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 投票する
7 に答える
18457 参照

java - ストリングとファイナル

次のステートメントの違いは何ですか

Stringクラスはクラスですがfinal、なぜ文字列「CONSTANT」変数をfinalとして作成する必要があるのでしょうか。

0 投票する
6 に答える
10804 参照

java - Hibernate 管理オブジェクトの final フィールドを宣言する方法はありますか?

私は Hibernate を使い始めたばかりで、これまでに目にしたすべての例は、Hibernate のドキュメントのチュートリアルとほとんど同じように見えます。

具体的には、どのフィールドも として宣言されfinalておらず、Hibernate フレームワークがクラ​​スをインスタンス化してそのフィールドを設定できるように、引数のないコンストラクターが必要です。

しかし、ここに問題があります-私は、回避できるときはいつでもクラスを変更可能にするのが本当に好きではありません(Javaプラクティス: 不変オブジェクトは、これを行うことについてかなり強力な議論をします)。各フィールドを 'final' と宣言したとしても、Hibernate を機能させる方法はありますか?

Hibernate は Reflection を使用してそのクラスをインスタンス化するため、間違ったコンストラクターを選択したり、パラメーターの 1 つに間違った値を渡したりするリスクを負うことなく、ある種のコンストラクターを呼び出すことができる必要があることを理解しています。引数なしのコンストラクターを呼び出し、各フィールドを一度に 1 つずつ設定します。しかし、不変オブジェクトを安全にインスタンス化できるように、Hibernate に必要な情報を提供することは可能ではないでしょうか?

もちろん、@SetsProperty注釈は架空のものですが、手の届かないところにあるようには見えません。

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

c# - javaのpublic final staticに相当するc#は何ですか

Java では、次のように記述できます。

C#に相当するものはありますか?

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

actionscript-3 - Proxy クラスを使用して、Actionscript 3 で文字列、数値、uint、int、またはその他の「最終的な」プリミティブを疑似サブクラス化する方法はありますか?

方法がありそうですが、私はそれを見ていません。以前、Object で valueOf() および toString() メソッドを使用して、コンテキストに基づいてカスタム オブジェクトを数値または文字列で動作させたことがありますが、もっと多くのことをしたいと考えています。

0 投票する
1 に答える
3000 参照

java - FindBugsを使用してメソッドの引数への割り当てを強制するにはどうすればよいですか?

パラメータの前に何千ものfinalキーワードをコードに散らかす代わりに、FindBugsを使用してコードを強制しようとしています。

これを行うことは不可能のようですが、方法があるはずですよね?

ありがとう

0 投票する
6 に答える
9483 参照

php - 他の言語の静的変数に相当する PHP は何ですか?

PHP には、他の言語で static のように機能するクラスの変数の型があるかどうか疑問に思っています。つまり、同じクラスのすべてのオブジェクトが同じ変数を使用し、1 つのオブジェクトで更新されると、すべてのオブジェクトで更新されるということです。静的はすべてのオブジェクトで共有されるため近いですが、更新できるようにする必要があります。これにはグローバルを使用する必要がありますか?

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

c++ - クラスのサブクラス化を禁止する方法はありますか?

「Base」というクラスと、Base のサブクラスで保護されたメソッドと Base のメンバーにアクセスする「Derived」というクラスがあるとします。

私が今やりたいことは、他のクラスが Derived をサブクラス化できないようにすることです。Java では、Derived クラスを「final」と宣言することでそれを実現できます。同じ効果が得られる C++ のトリックはありますか?

(理想的には、Derived 以外のクラスが Base をサブクラス化できないようにしたいと考えています。Base と Derived は両方ともテンプレート化されているため、すべてのコードを同じクラスに入れたり、friend キーワードを使用したりすることはできません。 Derived よりもテンプレート引数が少ないベース....)

0 投票する
11 に答える
54026 参照

java - Java での最終変数操作

Javaのコンテキストで次の行の意味を教えてください。

最終変数は、不変でない限り操作できます

私の知る限り、変数を final として宣言すると、再度変更することはできません。では、上記の行のimmutableという言葉は何を意味するのでしょうか?

0 投票する
12 に答える
49360 参照

java - 抽象クラスはfinalメソッドを持つことができますか?

抽象クラスはJavaでfinalメソッドを持つことができますか?

0 投票する
20 に答える
203641 参照

java - 別のメソッドで定義された内部クラス内の非最終変数を参照することはできません

編集:タイマーを介して数回実行されるため、いくつかの変数の値を変更する必要があります。タイマーを繰り返すたびに値を更新し続ける必要があります。値をfinalに設定すると、値を更新できなくなりますが、以下の最初の質問で説明するエラーが発生します。

私は以前に以下のことを書いていました:

「別のメソッドで定義された内部クラス内の非最終変数を参照できません」というエラーが発生します。

これは、priceと呼ばれるdoubleとpriceObjectと呼ばれるPriceで発生します。なぜ私がこの問題を抱えているのか知っていますか。なぜ最終宣言が必要なのかわかりません。また、私が何をしようとしているのかがわかるとしたら、この問題を回避するために何をしなければならないのでしょうか。