問題タブ [anonymous-class]

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 投票する
3 に答える
7879 参照

java - ArrayList.remove(int index)が非匿名クラスオブジェクトで機能しない

ArrayList.remove(int index)は、ActionListenerクラスの匿名インスタンスで動作しています:-

DeleteModule.java:-

しかし、これを元のモジュールと統合すると(以下は、DeleteFromPoolListener.classの非匿名インスタンスを使用して変更された縮小ソースコードです)、削除に対してfalseが返されます。なぜそれが機能しないのか本当にわかりません。

Demo.java

なぜそれが機能しないのか私は本当に混乱しています...:(

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

java - Java/Android: 匿名ローカル クラスと名前付きクラスの比較

匿名クラスと名前付き内部クラスを使用する際の良い習慣は何ですか?

多くの UI 要素 (ボタン、テキスト フィールドなど) を含む Android アプリケーションを作成しています。それらの多くには、ある種のリスナーが必要なのでonCreate、アプリケーションには、次のような非常に小さな匿名クラスがたくさんあります。

このような匿名クラスはそれぞれ 5 行から 20 行の大きさで、十分に小さく、 Java™からの推奨事項に適しています。

一般に、次の場合は、ローカル クラスの代わりに匿名クラスの使用を検討する必要があります。

  • クラスの本体は非常に短いです。
  • クラスのインスタンスは 1 つだけ必要です。
  • クラスは、定義された直後に使用されます。
  • クラスの名前によってコードが理解しやすくなるわけではありません。

しかし、IMO の問題は、それonCreateが非常に大きくなり、コードを読んで理解するのがより複雑になることです。理解するのは簡単ですが、単に大きすぎます。

そのような場合、より良い方法は何ですか - それぞれがうまく分離されている小さな内部サブクラスがたくさんありますが、一度だけ使用するか、代わりに匿名クラスを使用し続ける方がよいでしょうか?

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

java - コールバックを整理するための好ましい方法は何ですか?

私のAndroidプロジェクトでは、ボタンのクリック、接続イベント、またはDilaog.onShow()などのUIイベントを操作するためのいくつかのコールバックを定義しています。デモの目的で、アクティビティコードから起動する必要があるRunnableインターフェイスを選択しました。Javaでは、自分自身を表現するさまざまな方法があります。

1つのパターンは、匿名クラスを使用することです

別の-内部プライベートクラスを定義する、すなわち

さらに別の-このようにプライベートメンバーを使用するには:

これが私が一番好きなもう1つです。これは、誰かが実際に使用しない限り、実際にはオブジェクトを構築しないためです。余分なクラスを回避し、必要に応じてパラメーターを受け取ることができるためです。

私は好みや宗教的信念の議論ではなく、コードの保守性とパフォーマンスの議論を探しています。私は自分の好み、おそらくは与えられた状況に応じて異なる好みを開発するのに役立つヒントやアドバイスを受け取りたいと思います。

ネタバレ:

Javaの進歩により、この質問は廃止されました。受け入れられた回答を参照してください。

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

java - データ永続化のためのSpringの匿名/コールバッククラスでの苦労

私はSpring JDBCに対応しようとしていますが、これらの匿名クラスを使用しているとバグが発生します。最終的なものでない限り、ローカル変数を渡すことができないため、簡単に配置できますが、配列またはコレクションをループする必要がある場合はどうなりますか? 「FedModel fm」はループ内で再初期化されるため、最終的であると宣言することはできませんが、execute メソッドを 100 回呼び出す必要があります。これは、私が問題を抱えている具体的なシナリオです。BLOB をデータベースに挿入する方法が他にないためです。

私が考えることができる唯一のことは、AbstractLobCreatingPreparedStatementCallback を拡張し、内部でループを実行できるように fedModels のコンストラクターを追加する静的なネストされたクラスを作成することです。ただし、JDBC のみを使用する方が簡単です。

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

java - 非最終変数を参照できません

Javaで単純なGUIプログラムを作成しようとしていますが、エラーの適切な解決策が見つかりませんでした。別のメソッドで定義された内部クラス内の非最終変数を参照できません。

これが私のこれまでの小さなコードです。

たぶん私のアプローチは完全に間違っています。私がやろうとしているのは、ボタンのセットを作成し、ユーザーがボタンを押すと、「ボタン4を押しました」または「ボタン10を押しました」などのメッセージを表示したいとします。

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

scala - Scala 匿名クラス タイプの不一致

オブジェクトを保持するリストを作成していますが、そのメソッドComparableに対して常に -1 を返すように、リストの最小値として機能する 1 つのオブジェクトを作成したいと考えています。compareToここのようなリスト内の他のメソッドには、printタイプ A の入力が必要です。コードをコンパイルすると、次のエラーが発生します。

リスト内の他のどの要素よりも常に小さくなるように、そのような最小要素を作成する方法について誰でも考えていますか?

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

c# - 匿名クラスから配列またはリストを定義できますか?

匿名クラスから配列またはリストを定義できますか?

このような:

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

java - Java:既存のインターフェースを実装するサブクラスとしての匿名クラス?

私は、、を持ってinterface IAinterface IB extends IAますclass A implements IA

Aここで、から拡張して実装する匿名クラスを作成したいと思いますIB

それはどのように見えますか?私はこのようなことを考えました:

また:

それとも、そのようなものを匿名のクラスとして作成することはできませんか?

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

java - インターフェイスのオブジェクトを作成できますか?

結果は?

A. テスト
B. null
C. 実行時に例外がスローされる。
D. 1 行目のエラーが原因で
コンパイルが失敗します。 E. 4 行目のエラーが原因でコンパイルが失敗します。
F. 5 行目のエラーが原因でコンパイルが失敗します。

この質問の答えとその理由は何ですか? この質問に関して、もう1つ質問があります。4 行目で A のオブジェクトを作成しています。インターフェースのオブジェクトを作成することは可能ですか?

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

scala - Scala コンパイラは、暗黙的で匿名のクラスが使用されている場合、私のメソッドは再帰的であると言います

のようなコードを書けるようになりたい

だから私はそれを暗黙的にできると思った。

Scala REPL で次のコードを実行すると、正しく定義されます

しかし、コンパイルしようとすると、

エラーで失敗します

違いはなんですか?私は何を間違っていますか?