anoniem Geplaatst: 5 december 2006 Delen Geplaatst: 5 december 2006 Hallo mensen, Ik heb het volgende probleem: Ik wil in java een instantie aanmaken met een naam die ik niet vantevoren weet maar die in een bepaalde variabele zit. Ik weet toevallig dat het in PHP zo kan: ${$naam} = "blabla"; stel $naam = var1 dan zorgt deze code dat de variabele $var1 de waarde "blabla" krijgt. Kan zoiets ook in JAVA? Groeten Quote Link naar reactie
anoniem Geplaatst: 5 december 2006 Auteur Delen Geplaatst: 5 december 2006 dat kan met [url=http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html]Class.forName()[/url] Quote Link naar reactie
anoniem Geplaatst: 5 december 2006 Auteur Delen Geplaatst: 5 december 2006 Hey Marientje (en anderen) Bedankt voor je reactie. Ik denk idd dat ik zoiets zoek. Krijg het alleen niet voor elkaar. Bij het compilen krijg ik de volgende fout: "cannot find symbol method forName(java.lang.String)" (ik gebruik JCreator LE) Mijn code ziet er ongeveer zo uit: [code:1:ed9c926822] import java.io.*; import java.util.*; import java.lang.*; //dacht dat dit misschien nodig was public class CATHdb { // constructor: public CATHdb() { //blabla } public CATHitem newItem(String DOMAIN) { CATHitem.forName(DOMAIN); //Hier gaat het dus om!!! return CATHitem.forName(DOMAIN); } } [/code:1:ed9c926822] de functie newItem moet een instantie van het object CATHitem retourneren. Deze instantie moet de naam krijgen die meegegeven wordt aan de string DOMAIN. Doe ik iets verkeerd? Bedankt! Jasper edit: ik weet dus wel de naam van de klasse maar nog niet welke naam de instance gaat krijgen die ik aan ga maken.. Quote Link naar reactie
anoniem Geplaatst: 6 december 2006 Auteur Delen Geplaatst: 6 december 2006 dan is dit niet wat je zoekt. forName() is een statische functie in de klasse Class. Deze moet dus ALTIJD worden aangeroepen met Class.forName(naam_van_een_klasse). Wat jij wilt is een variabele aanmaken met de naam die in DOMAIN zit en daaraan een instantie van het object CATHitem toekennen. Klopt het wat ik zeg? Ik moet er even over denken hoe dat moet. Quote Link naar reactie
anoniem Geplaatst: 6 december 2006 Auteur Delen Geplaatst: 6 december 2006 Inderdaad. Als de String DOMAIN dan bijvoorbeeld de waarde "Klasse1" heeft dan moet er een object aangemaakt worden van de klasse CATHitem met de naam "Klasse1". Bij voorbaat dank Quote Link naar reactie
anoniem Geplaatst: 6 december 2006 Auteur Delen Geplaatst: 6 december 2006 ik heb nog niets gevonden en denk ook niet dat t kan. Sowieso maakt t de boel niet veiliger. Er kunnen nl variabelen worden overschreven die belangrijk zijn voor de werking van t programma. Quote Link naar reactie
anoniem Geplaatst: 7 december 2006 Auteur Delen Geplaatst: 7 december 2006 Bedankt voor jullie hulp! Het gaat om namen van eiwitten (bijna willekeurige opeenvolging van letters en cijfers) dus unique zijn ze zo goed als zeker. Maar ik heb een oplossing gevonden: Mappen. Hiermee kun je instanties van twee classes aan elkaar koppelen. Ik gebruik nu zoiets: myMap.put(myString, new myClass()) Werkt helemaal prima!!! Groeten Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen