読者です 読者をやめる 読者になる 読者になる

bekkou68の日記

開発しているサービス, IT技術, 英語など。

equals を使うときの注意 - Note:When Use equals

Java

ここには、自分が面白いと思った Java のあれこれを書いていきます。

In this category, i'll write about Java at this or that I interested.



今回は、インスタンスメソッド equals を使う際の注意です。

At this time, I'll introduce notice when we use instance method: equals.



equals を使うときは次のことに注意します。

We should note the following things when we use equals.



A.equals(B); において、A が null の時は NullPointerException が発生してしまいます。

In A.equals(B);, if A is null, then NullPointException can occur.







次に実例をあげます。

Next, I list the detailed example.



public class EqualsTest {



    public static void main(String args[]) {



        String testString = null;

        testString.equals("testString"); /* I */

        "testString".equals(testString); /* II */



    }

}



Webアプリケーションなどで ぬるぽ(=NullPointerException) が発生すると、画面が真っ白になってしまうことなどが起きるので、I のような書き方をしてはいけません。

If Nurupo (=NullPointerException) occurs on Web appli., one of example is becoming white display, so we shouldn't write code as I.



なぜ ぬるぽ が発生するかというと、null には equals インスタンスメソッドは存在しないからです。

Why does Nurupo occur?  Because, there is no equals instance method of null.



II のように、null が入りうるオブジェクトを B の位置に書けば ぬるぽ を防ぐことができます。

As II, we can avoid Nurupo by writing object, which can contain null, to position B.







ぬるぽ、ダメ、ゼッタイ、がっ!

Nurupo, no, absolutely, job!