Нулевой цвет при запуске - PullRequest
1 голос
/ 23 марта 2012

Так что я просто получаю удовольствие, когда понимаю, что цвет возвращается в ноль.Странная вещь, хотя, Цвет сделан во время реализации.У меня есть следующий код:

package org.legend.game;

import java.awt.Color;

public class Type {

    final static Type GROUND;
    final static Type AIR;

    static{
        AIR = new Type(0);
        GROUND = new Type(1);
    }

    private Color c;

    Type(int type) {
        Color c = colorFromType(type);
        System.out.println(c);
        this.c = c;
    }

    public Color getColor() {
        return c;
    }

    private Color colorFromType(int num) {
        switch (num) {
        case 0:
            return new Color(0, 0, 0, 0);
        default:
            return new Color(255, 255, 255, 255);
        }
    }
}

Я пытался использовать перечисления раньше, но это тоже не сработало.Технически говоря, это должно работать, но по какой-то причине цвета всегда возвращают нуль.

Кто-нибудь знает, почему это происходит?Я запускаю это через апплет FYI.

Пример печати:

java.awt.Color[r=0,g=0,b=0]
java.awt.Color[r=255,g=255,b=255]
//Classic NullPointerException linking to the Type#getColor() method.

Спасибо,

Легенда.

1 Ответ

1 голос
/ 23 марта 2012

Если вы получите NullPointerException при

type.getColor()

, тогда type будет null, а не возвращаемым значением вызова метода.* Как только вы разобрались с ошибкой, я предлагаю вам вернуться к перечислению.Это гораздо лучший подход для этих типов объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...