Program omija ify

Odpowiedz Nowy wątek
2020-06-26 11:17

Rejestracja: 1 rok temu

Ostatnio: 3 tygodnie temu

0

Hej, wiecie może co tu jest źle że omija ify

        String firstLaunch = wr.readString(wr.HKEY_LOCAL_MACHINE, "SOFTWARE\\" + pi.programName, "firstLaunch");

        if(firstLaunch == "yes") {

            System.out.println("yes");

        }

        if(firstLaunch == "null") {

            System.out.println("null");

        }

to sprawdza czy w rejestrze w kluczu HKLM\SOFTWARE\BLauncher jest wartość o nazwie firstLaunch w której jest "yes", jeśli ta wartość istnieje to wtedy

String firstLaunch = wr.readString(wr.HKEY_LOCAL_MACHINE, "SOFTWARE\\" + pi.programName, "firstLaunch");

powinien zwracać "yes" a jeśli nie istnieje powinien zwracać "null", a potem ify sprawdzają czy jest "yes" czy "null" i wykonują jakąś rzecz. A może macie w ogóle lepszy sposób na sprawdzenie czy jakaś wartość w rejestrze istnieje. Jestem początkujący w javie :)

Pozostało 580 znaków

2020-06-26 11:20

Rejestracja: 7 lat temu

Ostatnio: 2 minuty temu

6

Stringi porównuje się za pomocą metody equals

String s = "test";
if(s.equals("test")){
 System.out.println("TADA");
}
edytowany 1x, ostatnio: hzmzp, 2020-06-26 11:21
Lepiej "test".equals(s) bo jeśli ten s nie zostanie ustawiony to możesz mieć null pointer exception. - mjskr 2020-06-26 17:41

Pozostało 580 znaków

2020-06-26 11:24
Moderator

Rejestracja: 16 lat temu

Ostatnio: 1 minuta temu

  1. Nie porównuje się obiektów przez ==
  2. null oraz "null" to są dwie rożne rzeczy. Jedna to null a druga to string zawierający słowo null. Różnica jak między krzesłem i krzesłem elektrycznym.

Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2020-06-26 11:24

Rejestracja: 1 rok temu

Ostatnio: 3 tygodnie temu

0
hzmzp napisał(a):

Stringi porównuje się za pomocą metody equals

String s = "test";
if(s.equals("test")){
 System.out.println("TADA");
}

Wtedy otrzymuje na ifie

Exception in thread "main" java.lang.NullPointerException
    at main.Main.main(Main.java:46)
edytowany 1x, ostatnio: krysteq28, 2020-06-26 11:25
U mnie działa. Pokaż cały kod bo pewnie masz błąd w innym miejscu. - szweszwe 2020-06-26 11:34

Pozostało 580 znaków

2020-06-26 11:32

Rejestracja: 1 rok temu

Ostatnio: 1 godzina temu

Lokalizacja: Silesia

2
krysteq28 napisał(a):

Wtedy otrzymuje na ifie

Exception in thread "main" java.lang.NullPointerException
  at main.Main.main(Main.java:46)

Widocznie firstLaunch zawiera nulla. Zamień na:

  if("yes".equals(firstLaunch) {
    System.out.println("yes");
  }

edytowany 2x, ostatnio: KamilAdam, 2020-06-26 11:33

Pozostało 580 znaków

2020-06-26 11:40

Rejestracja: 1 rok temu

Ostatnio: 3 tygodnie temu

0

Ok, działa dzięki wszystkim

Pozostało 580 znaków

2020-06-26 11:50

Rejestracja: 6 lat temu

Ostatnio: 3 godziny temu

Lokalizacja: Wrocław

1

Polecam debugger


"We don’t use Spring, because debugging annotation-driven problems is not fun," said Grzesik

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0