Cast

O

OskarSt

Mitglied
Ich möchte einen Objekt Beispiel<?> in eine Methode(Beispiel<T> beispielobjekt) einsetzen.
 
L

LimDul

Top Contributor
Zeig mal ein komplettes Beispiel.
Ansonsten ist das einfach
Java:
Beispiel<?> objekt = ....
Beispiel<T> beispielobjekt = (Beispiel<T>)objekt;
Da wird dir Java Warnings werfen wegen unsafe Cast oder ähnliches - Bedingung ist natürlich, dass in objekt ein Objekt drinsteht, dass in dem generics Parameter etwas hat, was kompatibel ist.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Kannst du mal ein ganzes Beispiel zeigen? Die Stellen, an denen sowas nötig ist, sollten relativ selten sein, und vielleicht gibt es ja in dem Fall auch eine bessere Möglichkeit :)
 
O

OskarSt

Mitglied
Ich hätte hier ein Beispiel, was mir ebenfalls Schwierigkeiten bereitet hat:
String [] beispiel = new String[1];
beispiel[0] = "Affe";
List <T> neueListe = new ArrayList<T> ();
neueListe.add(beispiel[0]);

-> Cast Problem





}
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Berechtigterweise. Wenn T zu Integer aufgelöst wird, aber dann Strings drin liegen, würde später sicherlich irgendwann ein Fehler fliegen.
 
O

OskarSt

Mitglied
Wie würde ich dann vorgehen wenn ich eine File/Path in directions unterteile und in eine List<T> einfügen möchte?
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Entweder T einschränken, sodass File/Path ein Supertyp von T ist, oder was du vermutlich eher willst: List<File>/List<Path> nutzen.
 
O

OskarSt

Mitglied
Ich will new File(List.of("beispiel.txt"),"beispiel") in einzelne Unterteile separieren und diese Unterteile anschließend in eine List<T> einfügen.
Wie würde man vorgehen?
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Was sind denn die "einzelnen Unterteile" eines File-Objects?

Wie gesagt, wähl T passend. Oder, was du vermutlich eher willst, nutz kein T sondern einen konkreten Typ.
 
O

OskarSt

Mitglied
In diesem Falls wäre (List.of,"Beispiel.text", "beispiel") jeweils ein Unterteil, die ich in eine Liste<T> einfügen möchte.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Also, du hast einen String(!) "List.of(\"beispiel.txt\"),\"beispiel\"" und willst den in Token zerlegen? Anstonsten macht ja List.of als Teil des Ergebnisses wenig Sinn?

Oder sollen sowohl eine Liste als auch einzelne Strings in einer anderen Liste liegen? In dem Fall nimm keine Liste, sondern schreib dir eine geeignete Datenstruktur.
 
O

OskarSt

Mitglied
Ich habe eine methode add((T) (List.of("Beispiel.text"), "beispiel")) und möchte das Beispiel, in diesem Fall (List.of("Beispiel.text"), "beispiel") in Unterteile zerlegen, damit ich die Unterteile in eine List<T> einfügen kann -> List(0) wäre "List.of", List(1) wäre "Beispiel.text".
Die Methode dient für einen Baum.
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
Ich kann nur meine Frage wiederholen:
Also, du hast einen String(!) "List.of(\"beispiel.txt\"),\"beispiel\"" und willst den in Token zerlegen? Anstonsten macht ja List.of als Teil des Ergebnisses wenig Sinn?

List.of("Beispiel.text"), "beispiel") ist dann gar kein ausführbarer Java-Code, sondern ein Beispiel für die Eingabe in dein Programm? Dein Programm soll also Java-Code in Tokens zerlegen?
In dem Fall wären das entweder alles Strings und du kannst statt T einfach String nutzen oder es wären alles "Tokens", dann solltest du die entsprechende Klasse statt T nutzen.
 
O

OskarSt

Mitglied
Ich kann nur meine Frage wiederholen:


List.of("Beispiel.text"), "beispiel") ist dann gar kein ausführbarer Java-Code, sondern ein Beispiel für die Eingabe in dein Programm? Dein Programm soll also Java-Code in Tokens zerlegen?
In dem Fall wären das entweder alles Strings und du kannst statt T einfach String nutzen oder es wären alles "Tokens", dann solltest du die entsprechende Klasse statt T nutzen.
Super danke!
 
temi

temi

Top Contributor
Bei generischen Typen wird das "T" durch den tatsächlich gewünschten Typen ersetzt.
Java:
String [] beispiel = new String[1];
beispiel[0] = "Affe";
List <T> neueListe = new ArrayList<T> (); // "T" ist ein Stellvertreter für den tatsächlichen Typen
neueListe.add(beispiel[0]);

// also in deinem Fall

String [] beispiel = new String[1];
beispiel[0] = "Affe";
List <String> neueListe = new ArrayList<String> ();
neueListe.add(beispiel[0]);

Das "T" wird eigentlich nur verwendet, wenn du selbst eine generische Klasse schreiben willst, also irgendwas wie:
Java:
class Foo<T> {
    T data;
    
    public Foo(T data) {
        this.data = data;
    }
    
    public T getData() {
        return data;
    }
}

// Wird z. B. so verwendet

Foo<String> strFoo = new Foo("Bar");

// oder

Foo<Integer> intFoo ) new Foo(42);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Cast java.awt.Graphics Java Basics - Anfänger-Themen 7
N Simpler cast? Java Basics - Anfänger-Themen 9
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
O Kleine Frage zu cast Java Basics - Anfänger-Themen 3
A Ohne Cast auf Methode zugreifen? Java Basics - Anfänger-Themen 4
J Datentypen Cast von int zu char führ zu 'Sonderzeichen' Java Basics - Anfänger-Themen 2
K Cast bei equals Java Basics - Anfänger-Themen 2
N Vererbung Verschiedene Subclasses nach cast zur Superclass unterscheiden Java Basics - Anfänger-Themen 9
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
R Variablen Möglich?: Cast einer Referenzvariable auf den Typ seines Objektes Java Basics - Anfänger-Themen 19
S Datentypen Reflection Cast anhand eines Strings? Java Basics - Anfänger-Themen 7
M ListIterator + Cast Java Basics - Anfänger-Themen 12
D Wie "unchecked cast" hier vermeiden? Java Basics - Anfänger-Themen 2
M Cast nach int Java Basics - Anfänger-Themen 8
M object cast auf double Java Basics - Anfänger-Themen 2
I double (cast) rundungsproblem Java Basics - Anfänger-Themen 8
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
L Type/Cast Problem Java Basics - Anfänger-Themen 6
E Klassen ClassCastException bei gleichnamigem: paket.klasse cannot be cast to paket.klasse Java Basics - Anfänger-Themen 10
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
M Collections Cast bei ArrayList (List) Java Basics - Anfänger-Themen 2
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
C Generics und Cast Java Basics - Anfänger-Themen 5
M Polymorphie Cast:Verständnis und Ausführung Java Basics - Anfänger-Themen 10
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
A Cast ohne Warnung bei Generics Java Basics - Anfänger-Themen 2
J cast zu int immer 0.. Java Basics - Anfänger-Themen 6
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
A Object -> String mit valueOf, toString oder cast ? Java Basics - Anfänger-Themen 6
M Cast vermeiden Java Basics - Anfänger-Themen 11
M Generics - "Unchecked cast"-Warnung wegbekommen Java Basics - Anfänger-Themen 4
B Exception cast to CORBA.Object Java Basics - Anfänger-Themen 2
K Cast-Operator Java Basics - Anfänger-Themen 3
Guybrush Threepwood Inhalt eines Strings für cast verwenden Java Basics - Anfänger-Themen 6
A Seltsame Class Cast Exception Java Basics - Anfänger-Themen 3
V Cast-Operator Java Basics - Anfänger-Themen 2
kulturfenster Cast Probleme Java Basics - Anfänger-Themen 2
V Frage zu final und Class bzw. Class.cast Java Basics - Anfänger-Themen 5
F paket.Klasse cannot be cast to paket.Klasse Java Basics - Anfänger-Themen 6
J Cast-Problem Java Basics - Anfänger-Themen 7
D Class Cast Exception Java Basics - Anfänger-Themen 5
R variabler cast Java Basics - Anfänger-Themen 5
G cast von Char nach int Java Basics - Anfänger-Themen 3
zilti Cast Exception bei JTable Java Basics - Anfänger-Themen 15
S "Unchecked Cast" Warnung Java Basics - Anfänger-Themen 3
G cast von int To Integer? Java Basics - Anfänger-Themen 3
M Double -> Int Cast funktioniert nicht. Java Basics - Anfänger-Themen 5
vogella Cast from Collection.toArray to String[] Java Basics - Anfänger-Themen 2
B Cast explizit verbieten Java Basics - Anfänger-Themen 10
E Cast von Object zu int (Array) Java Basics - Anfänger-Themen 19
W Java Cast bei Vectoren Java Basics - Anfänger-Themen 10
A Cast Generics Java Basics - Anfänger-Themen 6
M Class Cast Exception Java Basics - Anfänger-Themen 7
J Cast zwischen zwei Unterklassen der selben Oberklasse. Java Basics - Anfänger-Themen 7
B Byte übergeben ohne cast? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Anzeige

Neue Themen


Oben