Moki: Splitten eines Strings im ArrayList nicht möglich?

Hallo,

ich versuche gerade eine Funktion zu schreiben, um den Farbcode eines Users herauszulesen, indem der User mit Farbcode in der ArrayList player_and_color gespeichert ist. Nun möche ich die ArrayList nach dem Usernamen durchsuchen und durch das Splitten eines String den Farbcode als return-Wert ausgeben.
Allerdings scheint es nicht klappen - und es liegt an dem split. Gibt es irgendeine eine andere Möglichkeit?

        public String getColor(String user) {  
            String userscolor = "";  
            System.out.println("Player and colors:");  
            for(int i = 0; i < player_and_color.size(); i++) {  
  
                System.out.println(player_and_color.get(i));  
  
                if (player_and_color.get(i).startsWith(user.toLowerCase())) {  
                    String player_and_color2 = player_and_color.get(i);  
                    System.out.println("Player und color:" + player_and_color.get(i));  
                    String[] parts = player_and_color2.split("|");  
                    String username = parts[0];  
                    System.out.println("Username:"+username);  
                    String color = parts[1];  
                    System.out.println("Color:"+color);  
                    userscolor = color;  
                }  
            }  
            return userscolor;  
        }

Die ArrayList hat folgendes Format:
user1|farbcode
user2|farbcode
user3|farbcode

Als Ausgabe bekomme ich beim Usernamen gar nichts und beim Color bekomme ich immer jeweils den Anfangsbuchstaben des Users.

Gibt es irgendeine andere Möglichkeit, den Farbecode eines Users zu ermitteln?

Vielen Dank und liebe Grüße,

Moki

  1. Allerdings scheint es nicht klappen - und es liegt an dem split. Gibt es irgendeine eine andere Möglichkeit?

    Man könnte es richtig anwenden (Stackoverflow) ;-)

  2. hi,

    Die ArrayList hat folgendes Format:
    user1|farbcode
    user2|farbcode
    user3|farbcode

    Also irgendwie geht das an Java/OOP glatt vorbei.

    Gibt es irgendeine andere Möglichkeit, den Farbecode eines Users zu ermitteln?

    Ja, überarbeite Deine Klassen. Lege z.B. User-Objekte an, wo den Farbcode als _Attribut_ haben.

    --
    Wenn zwei dasselbe tun, ist es nicht dasselbe.
  3. Hi,

    String[] parts = player_and_color2.split("|");

    Der Regex | ist vermutlich nicht das, was Du haben willst.
    Dein Regex sucht nach Nichts oder Nichts.

    Wenn Du nach einem | suchen willst, kannst Du ihn entweder per \ escapen (Achtung, der muß nochmal escapet werden wegen des Java-String-Contexts) oder ihn in als Zeichenklasse angeben, also [|]

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.