H
Hektor79
Gast
Hallo
Ich habe folgendes Problem:
Ich arbeite mit einer Informix DB und möchte einen Statement absetzen mit mehreren Variablen.
5 davon sind vom Typ Date, welche ich folgendermassen errechne.
Mein Problem ist das sich die Variable Date (aus dem Methodenaufruf )ebenfals geändert hat und jetzt den gleichen Inhalt hat wie tmp, obwohl ich date eigentlich nie etwas neues zugewiesen habe.
Da ich aber mit dem urspringswert von date noch arbeite muss ist entstehen dadurch natürlich Folgefehler.
Also wenn jemand weiss wieso ich mit der Zuweisung tmp.setTime(t) auch die Variable date ändere wäre ich für Hilfe sehr dankbar.
Gruß und danke im vorraus
Hektor
Ich habe folgendes Problem:
Ich arbeite mit einer Informix DB und möchte einen Statement absetzen mit mehreren Variablen.
5 davon sind vom Typ Date, welche ich folgendermassen errechne.
Code:
private Date getStartDate(Date date) {
Date tmp = date; //date wird beim aufruf der Methode übergeben und ist vom Typ Date
GregorianCalendar cal = new GregorianCalendar();
long t =0;
cal.setTime(tmp);
int tag = cal.get(Calendar.DAY_OF_WEEK); // Der Tag der Woche wird ausgelesen
if (tag == 1)
cal.add(Calendar.DAY_OF_WEEK,-6 ); // Wenn es ein Sonntag ist wird das Datum auf Montag gesetzt
t = cal.getTimeInMillis(); // neues Datum wird long Variablen zugeweisen
tmp.setTime(t); // Der Date Variable tmp wird das neue Datum zugewiesen und zurückgegeben
return tmp;
}
Mein Problem ist das sich die Variable Date (aus dem Methodenaufruf )ebenfals geändert hat und jetzt den gleichen Inhalt hat wie tmp, obwohl ich date eigentlich nie etwas neues zugewiesen habe.
Da ich aber mit dem urspringswert von date noch arbeite muss ist entstehen dadurch natürlich Folgefehler.
Also wenn jemand weiss wieso ich mit der Zuweisung tmp.setTime(t) auch die Variable date ändere wäre ich für Hilfe sehr dankbar.
Gruß und danke im vorraus
Hektor