ArrayList mit return zurückgeben

Hallo,
habe ein kleines Problem.
Habe folgende ArrayList:
Java:
    private ArrayList<String> email;
Wie kann ich in der folgenden methode diese ArrayList in meiner "return" anweisung einbinden, das dieser zurückgegeben wird?

Java:
public String getEmail() {
        String a = "@";
        for(String e : email) {
        if (e.startsWith(a) || e.endsWith(a) || e.length() < 2) {
            return "Bitte achten Sie auf das @ Zeichen und die länge der email Adresse";
        } else if(e.contains(a)) {
            return email; <-----?????
        } else
        return "falsche email";
    }}
Da es eine String methode ist, meckert er. Geht es auf diese weise überhaupt?
 
ich habe mehrere ArrayListen mit email adressen.
Er soll mir alle email adressen ausgeben, nur bei den falschen halt "falsche email.

Habe Array Listen wie z.B.:

Java:
ArrayList<String> spiderEmail = new ArrayList<>();
        spiderEmail.add("[email protected]");
        spiderEmail.add("[email protected]");
        spiderEmail.add("@[email protected]");
       
        ArrayList<String> ironmanEmail = new ArrayList<>();
        ironmanEmail.add("[email protected]");
        ironmanEmail.add("[email protected]");
        ironmanEmail.add("[email protected]");
       
        ArrayList<String> captainEmail = new ArrayList<>();
        captainEmail.add("[email protected]");
        captainEmail.add("[email protected]");
        captainEmail.add("[email protected]");
        captainEmail.add("[email protected]");
       
        ArrayList<String> antmanEmail = new ArrayList<>();
        antmanEmail.add("[email protected]");
        antmanEmail.add("[email protected]");
falsch wäre zum Beispiel:

Java:
...
spiderEmail.add("@[email protected]");
...
da, das "@" am Anfang steht.
 
return email; liefert eben keinen String, sondern das Objekt email (wo auch immer du es deklariert hast, in der Methode jedenfalls nicht).

Und da meckert er zu Recht, denn das Objekt email ist sicherlich kein String. Du kannst eine Methode keine Birne zurückgeben lassen, wenn du Apfel als Rückgabewert definiert hast.
 
Und da meckert er zu Recht, denn das Objekt email ist sicherlich kein String. Du kannst eine Methode keine Birne zurückgeben lassen, wenn du Apfel als Rückgabewert definiert hast.
Das ist mir schon klar, dass ich als return keinen Array direkt verwenden kann. Nur dachte ich es gäbe vielleicht irgendwas in der Java Bibliothek welchem meinen Array direkt in String umwandelt wie z.B: return email.toString oder so ähnlich.
Oder das ich vielleicht eine methode aufrufen kann im return welches meinen array als String umwandelt.
Habe aber leider nichts gefunden. :rolleyes:

Muss glaube ich einen anderen weg gehen.
 
toString() gibts natürlich, aber da kommt vermutlich nicht das raus, was rauskommen soll.

Ist das ne Aufgabe, die du bearbeiten sollst?
 
Nur dachte ich es gäbe vielleicht irgendwas in der Java Bibliothek welchem meinen Array direkt in String umwandelt wie z.B: return email.toString oder so ähnlich.
Oder das ich vielleicht eine methode aufrufen kann im return welches meinen array als String umwandelt.
Habe aber leider nichts gefunden. :rolleyes:
return Arrays.toString(email); - ich bezweifle aber, dass es das ist, was Du haben willst.
 
Du möchtest vermutlich eher eine Methode haben, die eine Adresse bekommt, und dann zurück gibt, ob diese gültig ist.

Das kannst du dann für jede Aufrufen, und nur in der Oberfläche anzeigen, ob sie gültig ist.
 
Das ist mir schon klar, dass ich als return keinen Array direkt verwenden kann. Nur dachte ich es gäbe vielleicht irgendwas in der Java Bibliothek welchem meinen Array direkt in String umwandelt wie z.B: return email.toString oder so ähnlich.
Oder das ich vielleicht eine methode aufrufen kann im return welches meinen array als String umwandelt.
Habe aber leider nichts gefunden. :rolleyes:
Nun, du weißt immerhin wie man einzelne Strings aus dem email-Objekt herauspopelt.
Was liegt da näher, als eine Methode zu schreiben die dir den gewünschten String zurückliefert?
 
Nun, du weißt immerhin wie man einzelne Strings aus dem email-Objekt herauspopelt.
Was liegt da näher, als eine Methode zu schreiben die dir den gewünschten String zurückliefert?
Naja, ich habe schon mehrere methoden versucht zu basteln, aber irgendwie meckert immer Eclipse.
Was von der Logik her ja nachvollziehbar ist, aber das umzubasteln klappt irgendwie nicht.

Java:
public ArrayList<String> getEmail() {
        String a = "@";
        for(String b : email) {
        if (b.startsWith(a)) {
            return email;
        }}
        return email;
    }
ich versuche das mit der obigen methode, nur kann es nicht klappen weil ich am ende immer eine return email habe
unabhängig welche return in der if anweisung steht.
 
Du könntest z. B. auf die abstruse Idee kommen, eine Email-Klasse einzuführen:
Java:
public class Email {
    private final String address;
    public Email(String address) { this.address = address; }
    public String getAddress() { return address; }
    public boolean isValid() {
        // hier natürlich anpassen
        return address != null && !address.startsWith("@");
    }
}
Dann verwendest Du statt String-Listen eben Email-Listen:
Java:
        ArrayList<Email> spiderEmail = new ArrayList<>();
        spiderEmail.add(new Email("[email protected]"));
        // ...
Wenn Du jetzt wissen willst, ob eine Adresse gültig ist, kann Dir das Email-Objekt Auskunft geben.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben