問題タブ [instanceof]
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 - 特定のインターフェースを実装し、特定のスーパークラスを持つパラメーター: ジェネリックまたはインスタンス?
特定のデザインに関するヘルプがあれば幸いです。これは私が働きたいコードです:
つまり、Canvas は Interface という仕様を実装する必要がありますが、描画メソッドはJPGExportable を実装する Square と Circle のサブクラスのみを処理する必要があります。
私の知る限り、機能する解決策は 2 つありますが、どちらもあまりきれいではないと思います。
実際には、Square と Circle はかなり異なるため、共通のスーパークラスに共通のコードを含めることができないのはなぜですか。また、JPGExportable を実装するスーパークラスは...間違っていると感じます。それは本当にサブ機能です。
私がジェネリック方式を好まない根本的な理由は、7 つの異なる型を処理する必要があるからです。私がうるさいのかもしれませんが、「T extends Type」が 7 回連続して出現するのは見栄えが悪いです。
- 見栄えの良い 3 番目のソリューションはありますか?
- そうでない場合、どちらが「より良い」ですか?
java - instanceof を使用するよりも条件付きで型を作成するためのより良い/よりクリーンな方法はありますか? 【ジャワ】
私が持っているとします:
問題は、MobileSuitCollection がインターフェイスであるため、インスタンス化できないことです。たとえば、次のことができます。
など。ただし、を操作するtemporaryCollection
には、パラメーターを介してクラスに渡されたものと同じタイプである必要があります。だから私はこれを行うことを考えました:
しかし、それはひどいことだと思います。これを行うより良い方法はありますか?初期型で使用されるクラスへの参照を保持し、それをインスタンス化することは可能temporaryCollection
でしょうか?
javascript - Javascriptの継承-instanceofが機能していませんか?
私はjavascriptとhtml5を使用して簡単なプラットフォームゲームを書いています。私はオブジェクト指向の方法でjavascriptを使用しています。継承を機能させるために、私は以下を使用しています。
この投稿のために、次の例を検討してください。
私が理解しているように、CはC&B&Aのインスタンスであるため、ホレイアラートボックスが表示されることを期待しています。私は間違っていますか?それとも、間違った方法でチェックしているだけですか?または、copyPrototypeがinstanceof演算子を破壊しましたか?
いつもお時間を割いていただきありがとうございます!
ショー。
java - 抽象パラメータと継承を備えたJava抽象メソッド
私は最近、次のタイプのコードが表示されるAPIと実装の問題に遭遇しました。
実装は単純なクラスです。
それを使用することになると、私は次のように書きます。
その結果:
シグネチャが異なるため、Bの合計がAの合計をオーバーライドしないことは理解していますが、効果的なタイプBのオブジェクトに対して合計の効率的な実装を提供したいと思います。このような設計は非常に古典的だと思います。効率的になるようにAPIと実装を設計する必要があります。
もちろんsum(A a)
、クラスBで提供し、bがBであるかどうかを確認してから、またはsuperinstanceof
を呼び出すこともできますが、効率上の理由から、これは避けるべきsum(B b)
だと思いました。instanceof
(非効率的な場合、私の抽象的な実装ではさらに効率が低下する可能性があります)
java - instanceof Double/Objectは機能しません:(
javaのinstanceofに問題があります。これが私に問題を引き起こすコードのギャップです:
...その他のコード...
ですから、私の問題は、if条件が真にならないということです。のこれらの要素は、または-valueのcurrentSummary
いずれかです。そして、私はである要素を拒否しようとしています。最初はそれらを追加しただけで、後で遭遇しました。これは、いくつかの(すべてではありません!)要素がであるためです。の要素の例は、たとえば[null、0.09861866469135272、10.137051035535745、107.12083740100329、371.4371264801424、827.432799544501、1206.251577083686]です。null
Double
null
NullPointerException
null
currentSummary
誰かがinstanceof
その場合になぜ機能しないのか考えましたか?私もやってみましcurrentSummary.getFirst() instanceof Object
た...
前もって感謝します!
apache-flex - Flexでのmxmlの継承。「instanceof」と「is」はどのように機能しますか?
以前、私は次の構造を使用しました:
アプリケーションの共通ロジックが必要だと感じたら、次に次のことを行います。
だから私が自分のコードにそれを適用しようとすると
動作しません!デバッガーで見ると、子のタイプは「Screen2」ですが、「child isScreen」はfalseを返します(「Screenの子インスタンス」も)。コンパイラキーを適用すると: "-keep-generated-actionscript" Screen2-generated.asが表示され、そこに含まれています
よろしくお願いします私の醜い英語=)
java - 注釈が特定のタイプであるかどうかを確認する
リフレクションを使用して、クラスのプロパティにアタッチされているアノテーションが特定のタイプであるかどうかを確認しています。現在私がしていること:
これは、完全修飾されたクラス名である文字列に依存しているため、少し厄介だと思います。将来、名前空間が変更された場合、微妙なエラーが発生する可能性があります。
私がしたいのは:
ただしjavax.validation.Valid
、これは抽象クラスであり、インスタンス化することはできません。インターフェイスまたは抽象クラスに対してシミュレートするinstanceof
(または基本的に使用する)方法はありますか?isInstance
php - 関数 __autoload & require_once の使用 / 特定のインスタンスを無視する
特定のライブラリに autoload 機能を使用しています...しかし、Doctrine を実装しようとすると、500 Internal Server Error が発生します。
= 新しいインスタンスを作成していて、オートロードで...別のディレクトリをチェックしているためだと思います。
自動ロード機能を無視するクラスの新しいインスタンスを作成する方法はありますか? または、オートロード機能がチェックするディレクトリ内のすべての教義ファイルを移動する必要があります...理想的には、プロジェクト内のライブラリの構造を維持するためにこれを行いたくありません。
java - あるJavaクラスが実行時に別のクラスを拡張するかどうかをテストする方法は?
a
のサブクラスであるかどうかをテストするにはどうすればよいb
ですか?
java - この instanceof コードが機能し、コンパイル時エラーが発生しないのはなぜですか?
次のコードでは、x の型は I です (ただし、x は J も実装していますが、コンパイル時には不明です)。したがって、(1) のコードがコンパイル時にエラーにならないのはなぜですか。コンパイル時に参照の型のみが考慮されるためです。