Ga naar inhoud

[java] instantie van class aanmaken met onbekende naam


anoniem

Aanbevolen berichten

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
Link naar reactie
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..
Link naar reactie
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.
Link naar reactie
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
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...