[java] datatype opvragen uit object

Pagina: 1
Acties:

  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Ik zit met een probleem, mijn programma haalt een recordset op uit een database, de datatypes uit deze recordset zijn uiteenlopend. Een veld van het type VARCHAR in MySQL word bijvoorbeeld in java een variable van het type String. Met de reguliere variablen als Integer, Float en Double is dit geen probleem. Echter kent MySQL ook velden van het type DATE en DATETIME, in MySQL word bij het veld alleen de datum opgeslagen. Java probeert dit veld automatisch te casten naar een Java.lang.Date object, mijn serverlet geeft dat de foutmelding dat er geen HOUR informatie is opgenomen in dit object (Java slaat ook een tijddefinitie op in Java.lang.Date).

Nu vraag ik ij het volgende af:

Is het mogelijk om het datatype van een Object uit een ArrayList op te vragen? In C# heb je hiervoor .typeOf, in Java kom ik een vergelijkbare functie helaas niet tegen.

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Jahoor, je kunt Object.class uitlezen.

Bijvoorbeeld

code:
1
2
3
4
Integer i = new Integer(6);
if (i.class.equals(Date.class)) {
   System.out.println("Hier is iets heel vreemds aan de hand.");
}

Siditamentis astuentis pactum.


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 20-04 18:28

Gerco

Professional Newbie

Je hebt de instanceof operator waarmee je dit soort dingen kan doen:

Java:
1
2
3
4
if(someVar instanceof String)
  ((String)someVar).someMethod();
else if(someVar instanceof Integer)
  ((Integer)someVar).someOtherMethod();


Er zijn ook andere methodes, maar aangezien je altijd een lijstje types zult hebben waar je iets zinnigs mee kan lijkt me dit voor jouw doeleinde wel genoeg te zijn.

[ Voor 4% gewijzigd door Gerco op 28-11-2005 12:19 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
bedankt jongens, instanceof did the trick!

| To acknowledge what is known as known and what is not known as known is knowledge. |