XXXXXXXXXX 2 Opublikowano 17 marca 2018 Udostępnij Opublikowano 17 marca 2018 więc tak mam obiekt user w którym jest List<String> jeżeli zamiast tego dam np boolean to działa, ale błąd nie w tym: klasa user.class private String name; private UUID uuid; private List<String> msg; private User(Player p){ this.uuid = p.getUniqueId(); this.name = p.getName(); this.msg = Arrays.asList(""); UserManager.addUser(this); } public void setMsg(List<String> s){ this.msg = s; } public void addMsg(String s){ this.msg.add(s); } public void removeMsg(String s){ this.msg.remove(s); } public List<String> getMsg(){ return this.msg; } private User(UUID uuid){ this.uuid = uuid; UserManager.addUser(this); } public String getName() { return this.name; } public UUID getUUID() { return this.uuid; } public void setName(String name) { this.name = name; } public void setUUID(UUID uuid) { this.uuid = uuid; } //tutaj jest pobieranie user itd i teraz jeżeli w PlayerJoinEvent robię Usera następnie dodaje string do LIst<String> u.addMsg("xd"); i puźni p.sendMessage(u.getMsg().toString()); to nic się nie wyświetla, proszę o pomoc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 17 marca 2018 Udostępnij Opublikowano 17 marca 2018 this.msg = Arrays.asList(""); tak się nie tworzy listy, tylko new ArrayList<>(), inaczej masz tylko array opakowane w liste, a to co innego. yooniks 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 TheMolkaPL 345 Opublikowano 17 marca 2018 Udostępnij Opublikowano 17 marca 2018 No i konstruktor nie powinien rejestrować klasy którą się rejestruje. Tak poza tym. getMsg() powinno zwrócić new ArrayList<>(this.msg). W innym przypadku masz możliwość edycji tej mapy bez użycia addMsg i removeMsg. sfuty 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 XXXXXXXXXX 2 Opublikowano 17 marca 2018 Autor Udostępnij Opublikowano 17 marca 2018 44 minuty temu, GotoFinal napisał: this.msg = Arrays.asList(""); tak się nie tworzy listy, tylko new ArrayList<>(), inaczej masz tylko array opakowane w liste, a to co innego. w takim razie czemu ma się równać List<String> ??? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 600 Opublikowano 17 marca 2018 Udostępnij Opublikowano 17 marca 2018 Godzinę temu, XXXXXXXXXX napisał: w takim razie czemu ma się równać List<String> ??? private List<String> msg = new ArrayList<String>(this.msg); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 GotoFinal 195 Opublikowano 17 marca 2018 Udostępnij Opublikowano 17 marca 2018 5 minut temu, KrejzolekPRO napisał: private List<String> msg = new ArrayList<String>(this.msg); jak już to private final List<String> msg = new ArrayList<>(); nie mozesz się odwołać do samego siebie. yooniks 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
XXXXXXXXXX 2
więc tak mam obiekt user w którym jest List<String> jeżeli zamiast tego dam np boolean to działa, ale błąd nie w tym:
i teraz jeżeli w PlayerJoinEvent robię Usera następnie dodaje string do LIst<String> u.addMsg("xd"); i puźni p.sendMessage(u.getMsg().toString()); to nic się nie wyświetla, proszę o pomoc
Odnośnik do komentarza
Udostępnij na innych stronach
5 odpowiedzi na to pytanie
Rekomendowane odpowiedzi