Datentyp mit String festlegen?

Status
Nicht offen für weitere Antworten.

Marco13

Top Contributor
Erst die Frage, ob man es tun kann, und auf die Verneinung hin die Frage, ob man es anders tun kann --> Auch wieder nein ;)

Beschreib' mal genauer was du vorhast, dann hat bestimmt jemand einen (hilfreichen ;) ) Tipp.
 

andreas2505

Bekanntes Mitglied
also ich habe eine methode, die einen datentyp in einen anderen umwandelt.
aber dabei kommt ein object raus:

Java:
public Object umwandeln(Object ichWillAufgerufenWerden, String diesenTypenWillIch, Object dasHabIch) {

        String diesenTypenHabIch = dasHabIch.getClass().getSimpleName();
        if (!diesenTypenWillIch.equals(diesenTypenHabIch)) {
                try {
                    String methodenName = diesenTypenHabIch.concat("In").concat(diesenTypenWillIch);
                    return ichWillAufgerufenWerden.getClass().getMethod(methodenName, new Class[] {dasHabIch.getClass()})
                        .invoke(new Object[] {dasHabIch});
                    } catch (IllegalArgumentException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (SecurityException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (IllegalAccessException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (java.lang.reflect.InvocationTargetException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    catch (NoSuchMethodException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
        }
  
        return dasHabIch;
}

so und dann will ich mit

diesenTypenWillIch a = (diesenTypenWillIch) Object;

das Object in einen normalen typen umwandeln, den ich halt vorher haben wollte
 

ARadauer

Top Contributor
Haben wir so ein ähnliches Problem diese Woche nicht schon gehabt?

Wo geht ihr zur Schule und bitte sagt mir wie eurer Lehrer heißt. Damit ich ihm erklären kann, dass er euch nicht so einen Schmarrn aufgeben sollt!
 

ARadauer

Top Contributor
schau dir das mal an....

Java:
package convert;

public interface IConverter {
   
   public Object convert(Object o1);

}

Java:
package convert;

public class StringToIntConv implements IConverter{

   public Object convert(Object o1) {
      if (o1 instanceof String) {
         String o1Str = (String) o1;
         System.out.println("Konvertiere String to Int");
         return Integer.parseInt(o1Str);         
      }
      return null;

      
   }

}
Java:
package convert;

public class IntToStringConv implements IConverter{

   public Object convert(Object o1) {
      if (o1 instanceof Integer){
         Integer o1Int = (Integer) o1;
         System.out.println("Konvertiere IntToString");
         return o1Int.toString();
      }
      return null;
   }



}

Java:
package convert;

import java.util.HashMap;

public class Tester {
   
   HashMap<String, IConverter> converter  = new HashMap<String, IConverter>();

   /**
    * @param args
    */
   public static void main(String[] args) {
      Tester t = new Tester();
      t.init();
      
      System.out.println(t.umwandeln("1234", "Int", "String"));
      System.out.println(t.umwandeln(3, "String", "Int"));

   }
   
   public void init(){
    converter.put("StringToInt", new StringToIntConv());
    converter.put("IntToString", new IntToStringConv());
      
   }
   
   public Object umwandeln(Object ichWillAufgerufenWerden, String diesenTypenWillIch, Object dasHabIch) {
      IConverter conf = converter.get(dasHabIch+"To"+diesenTypenWillIch);
      if(conf== null){
         System.out.println("Konverter nicht gefunden");
         return null;
      }
         
      return conf.convert(ichWillAufgerufenWerden);
   }
                  

}

wobei halt die sinnhafitgkeit anzuzweifeln ist....

stell dir mal vor du hast 15 datentypen... da brauchst du viele konvertierer....
 

Shulyn

Bekanntes Mitglied
kann man einen Datentyp mit einem String festlegen?

z.B.
String type = "int"

type = 5;

Ich verstehe nicht ganz wo man so etwas benötigt, trotzdem versuche ich es mal.
Hoffe du kannst dich noch an den Tip mit dem Enum erinnern. Lese den gewollten Datentyp in ein String ein, und vergleiche diesen dann über ein erweitertes Enum.

Hier noch ein parr code beispiele:

Java:
public enum moeglichkeiten {
 
INT,
BOOLEAN,
// usw
CHAR;
 
// nun die Methoden um die einträge umzuwandeln für den späteren vergleich
 
    // Saves the Enumnames in a List
    private static List<String> enumliste;
    
    // Returns the Enum entrys in a List<String>
    public static List<String> getValues() {
        if (enumliste == null) {
            moeglichkeiten[] array = values();
            List<String> list = new ArrayList<String>();
            for (moeglichkeiten mo : array) {
                list.add(mo.name());
            }
            enumliste = list;
        }
       
        
        return enumliste;
    }
 
}
// bis hier "fast" das selbe, nur andere einträge im Enum 

Object type;

public void zuweisung(String text) {
 
   switch (moeglichkeiten.valueOf(text) {
                case INT:
                    // von hier könntest du dann eine entsprechende methode ausrufen die z.b etwa so sein könnte
                    type = new Integer(5);
                    int fuenf = ((Integer)(obj)).intValue();
                    
                break;
                //usw
        }
}

So das ist der ansatz.
Ich Persönlich halte es auch für sehr "ungewöhnlich" einen Datentypen in einem String einzulesen und danach dann den entsprechenden Datentypen zu erzeugen... besonders in Java.

Versuche es mal in VB umzusetzen, da gibt es meinen Lieblingsdatentypen "Varriable" dort könntest du einfach irgendwas einlesen :bae:

Shu!
 
B

bygones

Gast
ich habe leider noch keine wirkliche ahnung was da raus kommen soll... der enum ansatz denk ich waere auch etwas

Enum:
Java:
public enum DataType {
 Integer(Integer.class), Double(Double.class), Boolean(Boolean.class); // und was es noch geben soll
 // konstruktor der sich die class speichert
 static Datatype convert(Class<?> c) {
    // gebe anhand der Klasse den Datentyp zurueck
 }

Java:
<T> T getType(String value, DataType type) {
   switch(type) {
      case Integer:
               return (T)Integer.valueOf(value);
      case Double:
               return (T)Double.valueOf(value);
      case Boolean:
               return (T)Boolean.valueOf(value);
      // und was noch fuer typen es geben soll mit deren Umwandlungen    
   }
}
Java:
String habIch = ; // irgendwas
Class<?> willIch = ; // woheer auch immer
getType(habIch, DataType.convert(willIch));

oder so... kA obs deinen Anforderungen entspricht ist aber eine saubere loesung als ueber irgendwelche obskuren reflections zu gehen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Datentypen Datentyp String lenght & charAT Java Basics - Anfänger-Themen 4
D Datentyp: Liste von String->Double dingern Java Basics - Anfänger-Themen 4
A Datentyp String in char umwandeln Java Basics - Anfänger-Themen 3
F Datentypen Wertebereiche passender Datentyp Java Basics - Anfänger-Themen 5
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
D Arraylist mit Komplexen Datentyp Java Basics - Anfänger-Themen 3
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
H Datentyp mit 3 Zuständen Java Basics - Anfänger-Themen 42
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
Kanaska Datentyp für Zahlenbereiche Java Basics - Anfänger-Themen 7
A Datentyp char Java Basics - Anfänger-Themen 27
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
C unverständlicher Code Attribute ohne Datentyp, wie geht das? Java Basics - Anfänger-Themen 8
T Datentyp mit Anführungszeichen drinnen Java Basics - Anfänger-Themen 3
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
C Interface als Datentyp eines Attributes? Java Basics - Anfänger-Themen 6
B Datentypen Datentyp welcher den gleichen Namen wie die Klasse trägt? Java Basics - Anfänger-Themen 1
D Datentypen Welcher ist der beste Datentyp? Java Basics - Anfänger-Themen 28
F Datentypen Missverständnis Datentyp Java Basics - Anfänger-Themen 2
D Rechnen mit numerischen Datentyp Frage Java Basics - Anfänger-Themen 16
E Klassename als Datentyp??? Java Basics - Anfänger-Themen 4
F Wertebereich/Datentyp Java Basics - Anfänger-Themen 26
M Datentypen Java Datentyp Definition Java Basics - Anfänger-Themen 6
MiMa Datentyp Short Wert zuweisen über Methode Java Basics - Anfänger-Themen 2
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
E Datentypen Benutzerdefinierten Datentyp verwenden Java Basics - Anfänger-Themen 1
ms_cikar Java Datentyp unwandlung Java Basics - Anfänger-Themen 7
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
M Interface als Datentyp Java Basics - Anfänger-Themen 12
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
1 Neuen Datentyp für rationale Zahlen als Klasse entwickeln Java Basics - Anfänger-Themen 20
R Datentypen Datentyp eines Werts in einer Textdateizeile abfragen und ändern Java Basics - Anfänger-Themen 4
R Interface Datentyp bei Erzeugung eines Objekts, dessen Klasse eine Schnittstelle implementiert Java Basics - Anfänger-Themen 18
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S Primitiver Datentyp Short , Vorteil/Nachteil Betrachtung Java Basics - Anfänger-Themen 6
J Field auf Datentyp prüfen Java Basics - Anfänger-Themen 8
D Datentyp Object Java Basics - Anfänger-Themen 2
A Datentypen Mehrdimensionaler Datentyp gesucht Java Basics - Anfänger-Themen 4
D Datentypen Abstrakter Datentyp lässt sich nicht casten Java Basics - Anfänger-Themen 7
F Klassenorganisation: Datentyp in Datentyp anlegen Java Basics - Anfänger-Themen 3
N Unerklärlich: Rekursiver Algorithmus gibt falschen Datentyp zurück... Java Basics - Anfänger-Themen 4
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
G Eigener Autoboxing Datentyp Java Basics - Anfänger-Themen 3
Binary.Coder Welcher Datentyp für den Simplex Algorithmus Java Basics - Anfänger-Themen 3
Guybrush Threepwood Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints Java Basics - Anfänger-Themen 8
B Datentyp für +,-,*,/ Java Basics - Anfänger-Themen 5
D Datentypen Rekursiver Datentyp Java Basics - Anfänger-Themen 8
GianaSisters Auf Datentyp überprüfen Java Basics - Anfänger-Themen 13
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
M Array mit komplexem Datentyp Java Basics - Anfänger-Themen 9
M 2 Arrays mit komplexen Datentyp vergleichen Java Basics - Anfänger-Themen 8
G Datentypen Welcher Datentyp Java Basics - Anfänger-Themen 2
F Datentypen Welchen Wert hat ein einfacher Datentyp nach der Deklaration? Java Basics - Anfänger-Themen 6
J Datentypen Datentyp für Datum Java Basics - Anfänger-Themen 23
B Java Bean, JSP, Komplexer Datentyp Java Basics - Anfänger-Themen 3
I Datentypen Eigener DatenTyp Java Basics - Anfänger-Themen 2
E Datentyp Array Java Basics - Anfänger-Themen 10
M Datentypen Eigenen Datentyp toArray() Java Basics - Anfänger-Themen 4
A Datentyp Char wird in BlueJ nur als leerer weißer Kasten dargestellt Java Basics - Anfänger-Themen 1
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
F Datentyp Number???? Java Basics - Anfänger-Themen 2
A einlesen, schreiben, umwandlung datentyp Java Basics - Anfänger-Themen 10
D Generischer Datentyp Java Basics - Anfänger-Themen 2
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
C Datentyp von einer Variablen ermitteln. Java Basics - Anfänger-Themen 12
M Datentyp Parameter Java Basics - Anfänger-Themen 18
R Welchen Datentyp verwenden? Java Basics - Anfänger-Themen 12
B Datentyp anlegen Java Basics - Anfänger-Themen 6
M Eigene Klasse mit "Enumeration"-Datentyp verknüpfe Java Basics - Anfänger-Themen 16
K Datentyp Problem Java Basics - Anfänger-Themen 2
X Rekursion & Generischer Datentyp Java Basics - Anfänger-Themen 11
A neuen Datentyp (Digit) definieren Java Basics - Anfänger-Themen 12
J datentyp -objectTyp Rückgabe Java Basics - Anfänger-Themen 2
D Superinterface als Datentyp Java Basics - Anfänger-Themen 5
E Generischer Datentyp und Arrays Java Basics - Anfänger-Themen 3
Z ArrayList<Entry<Datentyp, Integer>> ? Java Basics - Anfänger-Themen 12
L Datentyp Problem Java Basics - Anfänger-Themen 7
F Datentyp eines Inputs überprüfen Java Basics - Anfänger-Themen 2
NightmareVirus Datentyp des Arrayinhalt abfragen Java Basics - Anfänger-Themen 4
S Probleme mit Datentyp beim Einlesen Java Basics - Anfänger-Themen 4
C Datentyp byte Java Basics - Anfänger-Themen 22
G Java Problem [Datentyp] Java Basics - Anfänger-Themen 10
B Datentyp char -> Zeichen um einen Wert erhöhen Java Basics - Anfänger-Themen 12
M long Datentyp effizient mit Daten füllen Java Basics - Anfänger-Themen 2
S Datentyp aus 3 longs Java Basics - Anfänger-Themen 3
M datentyp ausfindig machen Java Basics - Anfänger-Themen 2
C Eigenen Datentyp schreiben Java Basics - Anfänger-Themen 13
T Probleme mit Datentyp Double Java Basics - Anfänger-Themen 4
W Datentyp Zahlen sortieren Java Basics - Anfänger-Themen 12
B Datentyp gesucht Java Basics - Anfänger-Themen 5
J Datentyp einer Klasse bei Anwendung von implements Java Basics - Anfänger-Themen 4
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
M Linkedlist, wert auf datentyp prüfen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben