ArayList may not have been initialized

Dimax

Top Contributor
Guten Tag,
ich versuche mit foreach einige Elemente hinzufügen, aber es klappt nicht:
Java:
public String listProj(Model model) {
        Iterable<Projekt> projekts ;
        ArrayList<Kunde> kunde ;
        int kundenId;
        Collection<? extends GrantedAuthority> authorities = SecurityContextHolder.getContext()
                .getAuthentication()
                .getAuthorities();
        String userName=SecurityContextHolder.getContext().getAuthentication().getName();
        
        
        boolean authorized = authorities.contains(Role.ADMIN);

        if (authorized) {
            projekts = projektRepository.findAll();
            
            for(Projekt p: projekts) {
                kundenId=p.getKundenId();
                kunde.add(kundeRepo.findByKundenId(kundenId)); /*********An dieser Stelle leuchtet kunde rot mit dem Fehler-"The local variable kunde may not have been initialized****/
            }
            model.addAttribute("users", userRepo.findAll());
            model.addAttribute("context", authorized);
            model.addAttribute("proj", projekts);
        } else {
            model.addAttribute("text", "nicht_erlaubt");
            model.addAttribute("context", authorized);
            kundenId=userRepo.findByUsername(userName).getKundenId();
            projekts= projektRepository.projekt(kundenId);
            
            for(Projekt p: projekts) {
                kunde.add(kundeRepo.findByKundenId(kundenId)); /*********An dieser Stelle leuchtet kunde rot mit dem Fehler-"The local variable kunde may not have been initialized****/
            }
            model.addAttribute("proj", projekts);
        }
        
        return "/listProj";
    }
 

KonradN

Super-Moderator
Mitarbeiter
Dann schau einfach einmal, wo du kunde initialisierst.

Du deklarierst die Variable im Zeile 3 aber initialisierst diese nicht. Damit ist die lokale Variable nicht nutzbar, denn eine lokale Variable muss initialisiert werden, ehe auf diese zugegriffen werden kann. (Bei Instanzvariablen wäre diese null und du hättest eine NPE bekommen!)

Die Frage ist, was Du eh. mit kunde machen willst. Du hast eine lokale Variable (nie initialisiert, aber angenommen du ergänzt ein = new ArrayList<>(); -> Du fügst etwas hinzu um dann nichts mehr damit zu machen und die ArrayList damit dem GC zu überlassen.

Edit: Typo korrigiert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Speichert eine ArayList Strings oder Integer Java Basics - Anfänger-Themen 4
T testng.available" has not been set " Java Basics - Anfänger-Themen 6
volcanos sun.audio has been removed from Java since JDK 9 Java Basics - Anfänger-Themen 2
R variable istpositiv might not have been initialized Java Basics - Anfänger-Themen 2
F javafx.fxml.LoadException: Root hasn't been set. Java Basics - Anfänger-Themen 0
R weiß jemand warum Java diesen Fehler ausspuckt? "Variable might not hav been initialized" Java Basics - Anfänger-Themen 4
G Fehlermeldung: A fatal error has been detected by the Java Runtime Environment Java Basics - Anfänger-Themen 7
H Problem: The local variable may have not been initialized Java Basics - Anfänger-Themen 4
C Variablen Problem: variable operator might not have been initialized Java Basics - Anfänger-Themen 9
M AspectJ : aspect has not been applied Java Basics - Anfänger-Themen 6
H variable might not have been initialized Java Basics - Anfänger-Themen 6
M The local variable x may not have been initalized --> why Java Basics - Anfänger-Themen 6
E error in funktion:"variable might not have been initial Java Basics - Anfänger-Themen 7
S Compiler: Variable might have not been initialized Java Basics - Anfänger-Themen 2
L Variable not initialized Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben