Podczas czytania kodu źródłowego JDK często zdarza się, że autor sprawdza parametry, jeśli są one puste, a następnie ręcznie rzuca nowy wyjątek NullPointerException (). Dlaczego oni to robią? Myślę, że nie ma takiej potrzeby, ponieważ wywoła nową NullPointerException (), gdy wywoła dowolną metodę. (Oto przykładowy kod źródłowy HashMap :) public …
Mam do powiedzenia listę obiektów car. Chcę przefiltrować tę listę na podstawie jakiegoś parametru przy użyciu języka Java 8. Ale jeśli parametr jest null, wyrzuca NullPointerException. Jak odfiltrować wartości null? Obecny kod jest następujący requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); To rzuca się, NullPointerExceptionjeśli getName()wróci null.
Widzę to @Nullablei @Nonnulladnotacje mogą być pomocne w zapobieganiu NullPointerExceptions, ale nie rozprzestrzeniają się zbyt daleko. Skuteczność tych adnotacji spada całkowicie po jednym poziomie pośredniej, więc jeśli dodasz tylko kilka, nie będą one rozprzestrzeniać się zbyt daleko. Ponieważ te adnotacje nie są dobrze egzekwowane, istnieje niebezpieczeństwo, że wartość oznaczona znakiem …
Dlaczego to rzuca NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } podczas gdy to nie jest public static void main(String[] args) throws Exception { Boolean b …
zgodnie z dokumentacją metoda String.valueOf(Object obj)zwraca: jeśli argumentem jest null, to łańcuch równy "null"; w przeciwnym razie zwracana obj.toString()jest wartość . Ale jak to się dzieje, kiedy próbuję to zrobić: System.out.println("String.valueOf(null) = " + String.valueOf(null)); zamiast tego rzuca NPE? (spróbuj sam, jeśli nie wierzysz!) Wyjątek w wątku „main” java.lang.NullPointerException w …
Usługa sieciowa zwraca ogromny plik XML i muszę uzyskać dostęp do głęboko zagnieżdżonych pól. Na przykład: return wsObject.getFoo().getBar().getBaz().getInt() Problemem jest to, że getFoo(), getBar(), getBaz()mogą zwracać null. Jeśli jednak sprawdzę, czy nullwe wszystkich przypadkach, kod staje się bardzo rozwlekły i trudny do odczytania. Ponadto mogę przegapić kontrole niektórych pól. if …
Chcę użyć @Nullable adnotacji, aby wyeliminować NullPointerExceptions. Znalazłem w sieci kilka tutoriali, zauważyłem, że ta adnotacja pochodzi z pakietu javax.annotation.Nullable; ale podczas importu generowany jest błąd kompilacji: nie można znaleźć symbolu
To jest kanoniczne pytanie dotyczące problemu często publikowanego w witrynie StackOverflow. Postępuję zgodnie z tutorialem. Utworzyłem nową aktywność za pomocą kreatora. Otrzymuję NullPointerException, próbując wywołać metodę na Views uzyskanych findViewById()w mojej aktywności onCreate(). Aktywność onCreate(): @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); View something = findViewById(R.id.something); something.setOnClickListener(new View.OnClickListener() { …
Następujący kod generuje NullPointerException: int num = Integer.getInteger("123"); Czy mój kompilator wywołuje getIntegerwartość null, ponieważ jest statyczny? To nie ma sensu! Co się dzieje?
Próbuję popracować nad projektem na Androida, nad którym nie pracowałem od kilku miesięcy, ale za każdym razem, gdy próbuję zbudować projekt, Eclipse wyświetla okno dialogowe: 'Building workspace' has encountered a problem Errors occurred during the build. Errors running builder 'Android Pre Compiler' on project 'XXX' java.lang.NullPointerException Używam Eclipse na komputerze …
Dlaczego Double.parseDouble (null) i Integer.parseInt (null) zgłaszają różne wyjątki? Czy to przypadek historyczny czy celowy? Dokumentacja jasno określa dwa rodzaje wyjątków dla Double.parseDouble(...)i jeden dla Integer.parseInt(), ale wydaje się niespójna: Integer.parseInt(null); // throws java.lang.NumberFormatException: null jednak Double.parseDouble(null); // throws java.lang.NullPointerException
Nead wyjaśnienie dla następującego kodu: StringBuilder sample = new StringBuilder(); StringBuilder referToSample = sample; referToSample.append("B"); System.out.println(sample); To zostanie wydrukowane w Btaki sposób, że dowody samplei referToSampleobiekty odnoszą się do tego samego odniesienia do pamięci. StringBuilder sample = new StringBuilder(); StringBuilder referToSample = sample; sample.append("A"); referToSample.append("B"); System.out.println(referToSample); Spowoduje to wydrukowanie, ABktóre …
Jestem nowy w programowaniu na Androida i mam problemy podczas przekazywania ArrayList of a Parcelable do fragmentu. Jest to działanie, które jest uruchamiane (działa dobrze!), W którym lista kanałów jest tablicą listy plików muzycznych, które można sparować . Intent in = new Intent(context, ListMusicsActivity.class); in.putExtra("arrayMusic", feedList); activity.startActivity(in); Fragment metody Activity …
Obserwowanie tej sytuacji było dla mnie bardzo zagmatwane: Integer i = null; String str = null; if (i == null) { //Nothing happens ... } if (str == null) { //Nothing happens } if (i == 0) { //NullPointerException ... } if (str == "0") { //Nothing happens ... } …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.