13

Javaは強力な静的キャストであるため、「===」は使用できないことを意味します

私はたくさんのドキュメントを見てきましたが、同一比較演算子を見たことがありません。

4

2 に答える 2

36

===比較されるオブジェクトが同じ型であることを確認し、暗黙的な変換を回避するため、Javascript などの弱い型付け言語で役立ちます。

===これを行うための特定のメソッドを作成しないと、異なる型の変数を比較できないため、Java などの厳密に型指定された言語ではまったく役に立ちません。


たとえば、 inと anintを比較したい場合、次のような特別なメソッドを作成する必要があります。StringJava

boolean compareIntString(int i, String s) {
    return (i == parseInt(s));
}

しかし、これはかなりやり過ぎです。(そして、書かれているように、このメソッドは anintと aのみを受け入れStringます。任意の 2 つの変数だけを受け入れるわけではありません。呼び出す前に、データ型が異なることがわかります。)

要点は、 ではできるがi == sではJavascriptできないのでi == sJavaは必要ないということです===


簡単に言えば、はJavaです。をエミュレートし、データ型を無視して 2 つの項目を比較する場合は、一般的なデータ型を引数として受け入れるカスタム メソッドを作成する必要があります。のプリミティブ データ型の組み合わせ...==Javascript===Javascript==Java

于 2013-11-07T03:51:08.993 に答える
6

===Java には演算子がありません。理由はnhgrifによってかなりよく説明されています。以下は、Java の演算子とその優先順位のリストです。

ここに画像の説明を入力

ソース: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

于 2013-11-07T03:50:35.240 に答える