Mamy kolumnę zerową (typ long) (o nazwie referral) w naszej bazie danych MySQL. Używamy hibernacji dla ORM.Jak wykryć, czy długi typ jest rzeczywiście NULL?
Próbuję uzyskać wartość kolumny dla danego członka. Niektóre mają wartość zerową, a jeśli nie, to ich identyfikator wskazuje na innego członka, który jest stroną odsyłającą.
Problem leży w kodzie java, który próbuję wykryć, jeśli kolumna tego członka ma wartość zerową, a jeśli nie, zrób coś.
String referrerAffiliateId = Long.toString(member.getReferral());
if (referrerAffiliateId != null){
//do something
}
element.getReferral() zwraca wartość (typ long) kolumny odsyłającej. Niektóre z tych kolumn mają wartość zerową, a inne nie.
Powyższy kod kompiluje dobrze, ale otrzymuję wyjątek nullPointerException, gdy wywołuję metodę na użytkowniku, którego kolumna odsyłająca ma wartość null.
Jak prawidłowo wykonać wykrywanie w tej sprawie?
Z góry dziękuję!
Pełna Odpowiedź:
Dzięki @Marcelo dla najlepszego poprawnej odpowiedzi.
Oto kod w stanie końcowym:
Long referrerAffiliateId = member.getReferral();
if (referrerAffiliateId != null) {
//...
}
Jaki jest rodzaj powrót 'member.getReferral()'? –
@ Ted Hopp - long – UpHelix
Zakładam, że masz na myśli 'Long', ponieważ' long' jest typem pierwotnym i nie można go uznać za wartość null. "Long" może mieć wartość zerową. Sprawdź zwracaną wartość 'getReferral()' bezpośrednio i nie próbuj przekonwertować go na ciąg znaków. – gnomed