![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: timt, 31. 03. 2008, 23:34
Habe folgenden Code aus der Uni der leider bei mir nicht funktioniert. Kann leider den Fehler nicht finden. Weiß jemand was daran nicht korrekt ist? Eclipse unterstreicht das "before()". Kann mir jemand nen Tip geben? Bin echt ratlos.
import java.util.*;
public class GregorianExample
{
public static void main(String[] args){
GregorianCalendar cal = new GregorianCalendar(1975, Calendar.FEBRUARY, 11);
if (cal.getTime().before(new Date())){
System.out.println("Liegt in der Vergangenheit...");
}
}
Die folgende Nachricht zum Thema stammt von: Daniel Thoma, 01. 04. 2008, 00:19
Hallo timt,
»» if (cal.getTime().before(new Date())){
»» System.out.println("Liegt in der Vergangenheit...");
»» }
Interessant, dass Eclipse das als Fehler erkennt, denn rein von der Typisierung her, ist das korrekt und gibt keinen Kompilerfehler.
Allerdings gibt before() für Objekte, die keine Instanzen von Calendar sind, immer false zurück, weswegen der Code ziemlich sinnlos ist.
Versuch es mal mit "new GregorianCalendar()".
Grüße
Daniel
Die folgende Nachricht zum Thema stammt von: timt, 01. 04. 2008, 00:32
habe es grad noch mit "new GregorianCalendar()" probiert, aber bekomme den gleichen Fehler.
Eclipse sagt mir: "The method before(Date) in the type Date is not applicable for the arguments (Date)"
was ich auch irgendwie unlogisch finde...^^
Die folgende Nachricht zum Thema stammt von: MudGuard, 01. 04. 2008, 00:35
Hi,
»» habe es grad noch mit "new GregorianCalendar()" probiert, aber bekomme den gleichen Fehler.
»»
»» Eclipse sagt mir: "The method before(Date) in the type Date is not applicable for the arguments (Date)"
»»
»» was ich auch irgendwie unlogisch finde...^^
Was hast Du bei import stehen?
Evtl. import java.sql.Date; ?
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
Die folgende Nachricht zum Thema stammt von: timt, 01. 04. 2008, 01:14
Danke für die Mühe. Habs nun Hinbekommen. Hatte einfach nur ne Klasse "Date" schon im gleichen Ordner, die er dann versucht hat zu benutzen... Also sorry habs verrafft.. :)
Die folgende Nachricht zum Thema stammt von: Slyh, 01. 04. 2008, 01:05
Hallo,
»» »» if (cal.getTime().before(new Date())){
»» »» System.out.println("Liegt in der Vergangenheit...");
»» »» }
»» Allerdings gibt before() für Objekte, die keine Instanzen von Calendar sind, immer false zurück, weswegen der Code ziemlich sinnlos ist.
»» Versuch es mal mit "new GregorianCalendar()".
Ich glaube, du hast da irgendwelche Klassen oder Methoden verwechselt.
cal.getTime() liefert ein Date-Objekt. Die Methode "before()" ist dort
definiert und funktioniert mit einem Date-Objekt als Parameter immer.
Der Ursprungscode von timt funktioniert bei mir auch wunderbar...
Gruß
Slyh
Die folgende Nachricht zum Thema stammt von: Daniel Thoma, 01. 04. 2008, 12:47
Hallo Slyh,
»» Ich glaube, du hast da irgendwelche Klassen oder Methoden verwechselt.
Fast, ich habe das getTime() schlicht überlesen, Calendar hat auch eine Methode before(Object) ;-)
Grüße
Daniel
Die folgende Nachricht zum Thema stammt von: Slyh, 01. 04. 2008, 01:12
Hallo,
der Code scheint korrekt zu sein. Wenn das wirklich dein Original-Code ist, würde
ich den Fehler woanders suchen. Wurde der Quellcode evtl. noch nicht gebaut?
Ist im Menü "Project" der Punkt "Build Automatically" eingeschaltet, so dass
Eclipse bei jedem Speichern automatisch baut?
Gruß
Slyh
© 1998-2006
Impressum, Software: Classic Forum