Konwersja ciągu na typ

0

Witam,

Jak można przekonwertować ciąg "Integer", "Double" na typ zmiennej? Trzeba chyba użyć parametryzacji ? - nie za bardzo wiem jak to ugryźć, nie mam z tym doświadczenia. Oprócz stringów metoda powinna przyjmować jeszcze takie coś (Float.class).
Czyli mam metodę która może przyjmować takie wartości:
metoda("Integer")
metoda("Doube")
metoda(Float.class)
I potrzebuje wyciągać z tych danych typ.

Poproszę o podpowiedzi.
Pozdrawiam serdecznie.

0

Cześć. Użyj refleksji:

Class myObject = Class.forName("java.lang.Integer");

0

Witaj,

Próbowałem już w ten sposób, niestety wywala mi Exception nie pamiętam już dokładnie jaki ale chodzi w nim o to że nie znajduje tej klasy - NotFoundClassException czy jakoś tak :(

0

Może ktoś zna jakiś inny sposób ?
Z tego co wiem to ta metoda powinna być sparametryzowana, ale kurcze nie mam pojęcia jak coś takiego zrobić :(

0

Może nie podawałeś pełnej kwalifikowanej nazwy typu?

0

czyli "java.lang.Integer" ?
Tak wpisywałem. To na pewno tak powinni działać ?
Przeglądając bibliotekę w podpowiedziach programu "eclipse" tam w java.lang nie ma pakietu Integer ani Double.

0

Integer i Double to klasy, nie pakiety.

0

No spoko przejęzyczenie ale nie ma ich w tej ścieżce

0

To działa:

try {
	Class<?> c = Class.forName("java.lang.Integer");
	Integer i = (Integer) c.getConstructors()[1].newInstance(3);
	System.out.println(i);
	i = 5;
	System.out.println(i);
} catch (Exception e) {
	e.printStackTrace();
}

output:

3
5
0

Co Ty opowiadasz?

        try
        {
            System.out.println(Class.forName("java.lang.Integer")); //class java.lang.Integer
        }
        catch(Exception e)
        {
            ...
        }
0

@sokot - a Ty masz zainstalowane JDK, czy tylko JRE ? :> Może to jest powodem tego, że u Ciebie nie widać tych klas...

0

Kurcze dzięki !
Teraz mi poszło na podanym kodzie, nie wiem czemu wcześniej dostawałem tego exceptiona.
Naprawde bardzo mi pomogliście.
Pozdrawiam was wszystkich - temat do zamknięcia :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1