0

null のオブジェクトで System.out.print を実行したところ、次のようになりました。

550270261027054028026002805302902590290520300258030051031025703105003202560320
490330255033048034025403404703502530350460360252036045037025103704403802500380
43039024903904204002480Exception

グーグルで検索してみましたが、例外の名前が長すぎました。

この例外の意味を知っている人はいますか?

for (int i = bulletList.size(); i > 0; i--) {
        final Bullet b = bulletList.get(i - 1);/* the bullet is just a class containing it's image, its position and its rectangle and handling its movement*/
        b.r = new Rectangle(b.x, b.y, 34, 20);
        for (i = obsticalList.size(); i > 0; i--) {
            final Obstical o = obsticalList.get(i - 1);//Obsical class is like the bullet class but for stationary thing
            System.out.print(o.r.x);
            System.out.print(b.r.x);//This is where I get the exception
        }

    }



3202452730245310255272025530026527102652902752700Exception in thread "Thread-3"
    at StartingClass.checkCollision(StartingClass.java:175)
    at StartingClass.run(StartingClass.java:107)
    at java.lang.Thread.run(Unknown Source)
4

2 に答える 2

5

数字は例外名の一部ではありません。あなたのコードは、標準出力への改行なしで数字を出力しています。

デフォルトの例外ハンドラは、スタック トレースを標準エラーに出力します。標準出力と標準エラーからのメッセージはコンソール上でインターリーブされているため、表示される数字はコードからのものであり、「例外」はスタック トレースのフラグメントです。

ほとんどの場合、コンソールをさらに振り返ると、例外名の先頭が表示されます。指定した行がスローできる唯一の実行時例外は、 a NullPointerException、 ifbまたはb.ris null; です。しかし、あなたのコードを考えると、それは可能ではないようです。たぶん、例外は実際には別の行からスローされます。行番号とスタック トレースはこれを特定するのに役立ちますが、おそらくNullPointerException前の行からのものです。

于 2013-05-03T04:29:29.977 に答える
2

obj = null を指定した System.out.print(obj) は、単に word を出力しnullます。

于 2013-05-03T04:11:08.267 に答える