Java Editor Warnmeldung die ich nicht so wirklich verstehe - Druckversion
+- FB18.de - Das Informatikforum ( /mybb ) +-- Forum: Diplom Informatik ( /forumdisplay.php?fid=114 ) +--- Forum: Unterbereich Grundstudium ( /forumdisplay.php?fid=123 ) +---- Forum: Praktische Informatik ( /forumdisplay.php?fid=17 ) +---- Thema: Java Editor Warnmeldung die ich nicht so wirklich verstehe ( /showthread.php?tid=6268 ) |
Java Editor Warnmeldung die ich nicht so wirklich verstehe - Connor - 02.11.2005 15:51 The constructor Date(int, int, int) is deprecated In der API für java.util.Date steht der Konstruktor Date(int,int,int) um ein Datum mit Tag Monat und Jahr zu erstellen. Ich hab die Klasse Datum importiert und dann den Konstruktor aufgerufen um ein Objekt von Typ Datum zu erstellen welches ein Attribut meiner eigenen Klasse ist. Date vergleichsDatum = new java.util.Date(3,11,2005); Eclipse streicht mir das Date durch und schreibt die oben genannte Meldung als Warnung. Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Tweety - 02.11.2005 16:14 Wie du schon geschrieben hast ist es nur eine "warning" und kein "error". Das heißt die ganze Sache ist nicht wirklich schlimm. Deprecated bedeutet, dass diese Methode (oder auch Klasse) nicht mehr benutzt werden soll. Dies kann verschiedene Gründe haben. Meist wird die gleiche Funktionalität auf eine andere (vermeintlich bessere) Weise zur verfügung gestellt. Wenn du deprecated Methoden benutzt könnte es sein, dass in zukünftigen Versionen von Java diese weggelassen werden, deine Programme also nicht mehr laufen. Aber hier braucht man nicht in Panik zu verfallen, sooft kommen auch keine Java-Major-Releases raus, bzw. selbst dann ist nicht sicher, ob die Methode nicht weiterhin einfach deprecated ist (was meines wissens recht wahrschenlich ist). In allen (halbwegs vernünftigen) Java-Büchern sollte sich dazu noch mehr finden lassen. Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Connor - 02.11.2005 17:01 Was für ne Verarschung istn das. Ich weiß nicht wie veraltet die Universionen sind und obs da dann normal läuft. Aber bei mir zuhause Funktioniert Date nicht mehr richtig. Ich erstelle eine Date Datum = new Date(2005,10,1) mach dann Datum.getDay() und er halte 3 anstelle von 1... oder noch besser kams mit 1 12 2005 wo man aufeinmal in Jahr 2006 gelandet ist. Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - guiltyguy - 02.11.2005 17:17 google sagt: "Date Deprecated. As of JDK version 1.1, replaced by Calendar.set(year + 1900, month, date) or GregorianCalendar(year + 1900, month, date)." Hast du das mit Calendar.set mal versucht? Entsprechend gilt dann auch: Calendar.get(Calendar.DAY_OF_MONTH). Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Anonymer User - 02.11.2005 17:39
Zitat:
Was für ne Verarschung istn das.
Zitat:
Ich weiß nicht wie veraltet die Universionen sind und obs da dann normal läuft. Aber bei mir zuhause Funktioniert Date nicht mehr richtig.
Es wird an der Uni wahrscheinlich die selben Ergebnisse bringen. Warum? Weil sie richtig sind.
Zitat:
Ich erstelle eine Date Datum = new Date(2005,10,1)
mach dann Datum.getDay() und er halte 3 anstelle von 1...
Was korrekt ist: Der 1.November 3905 ist ein Mittwoch
Zitat:
oder noch besser kams mit 1 12 2005 wo man aufeinmal in Jahr 2006 gelandet ist.
Weil Du damit wohl auch nach dem 1. Januar fragst.
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Brokkoli - 02.11.2005 18:40 immer alles auf java schieben.. naja irgendwer (-was) muss ja schuld sein, oder? Also wie die anderen schon geschrieben haben - Java läuft schon richtig.. Man muss es nur programmieren können.. Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Connor - 03.11.2005 09:25 Die haben so wie ich zu denken... es heißt doch schließlich auch day month und year was mag der sich gedacht haben bei getDay den namen des Wochentages zu nehmen... naja aber man soll hier date verwenden und nicht gregorian.calendar... aber die date liefern halte falsche ergebnisse Date Erscheinungsdatum = Date(2005,10,1) String StringDatum = ""+Erscheinungsdatum.getDate()+"."+Erscheinungsdatum.getMonth()+ "."+Erscheinungsdatum.getYear(); StringDatum = "1.0.2006" Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Slater - 03.11.2005 09:39 obwohl 2005 bei Date ja wie schon geschrieben dem Jahr 3905 entspricht steht eigentlich einer korrekten Ausgabe nix im Wege, bei mir wird auch 1.10.2005 ausgegeben, da scheint ja wirklich was kaputt zu sein falls du nicht falsche Eingaben machst, dein geposteter Code scheint nicht unbedingt der zu sein den du verwendest, da fehlt ein Semikolon und die Ausgabe versuch mal diesen Code hier auszuführen, wenn dann nicht 1.10.2005 rauskommt dann darfst du dich wundern:
Code:
Date d = new Date(2005,10,1);
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Anonymer User - 03.11.2005 14:07
Zitat:
Die haben so wie ich zu denken...
Klar, *tätschel*.
Zitat:
es heißt doch schließlich auch day month und year was mag der sich gedacht haben bei getDay den namen des Wochentages zu nehmen...
Ja, das ist ein wenig trügerisch, aber spätestens wenn man in Tests Fehler bekommt, sollte man doch mal in die Dokumentation gucken. Und wenn man eine API noch gar nicht kennt, dann sollte man bei deren Verwendung noch etwas aufmerksamer sein. Learn to help yourself.
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Connor - 03.11.2005 16:30 Mein erster kommentar war ironisch gemeint, aber ich bin nur gereizt wenn etwas nicht so Funktioniert wie erwartet. Irgendwie will bei mir Calendar nicht so richtig import java.util.Calendar; public class ... { Calendar Abcde = new Calendar(); ... } Cannot instantiate the type Calendar Erhalte ich als Meldung wenn ich mir das mal angucke was rot unterstrichen ist. Soweit ich das interpretiere heißt das wohl das das Objekt Abcde nicht erstellt werden kann. Calendar() ist eine in der API angegebene Constructor Methode Wie mach ich denn dann ein Calendar Objekt? Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Anonymer User - 03.11.2005 16:52
Zitat:
Calendar() ist eine in der API angegebene Constructor Methode
Der Konstruktor ist nicht public, sondern protected. Deswegen kannst Du ihn nur aus dem Paket java.util oder Unterklassen von Calendar aufrufen. Braucht man aber normalerweise auch nicht:
Zitat:
Wie mach ich denn dann ein Calendar Objekt?
Für die lokale Zeitzone:
Code:
Calendar.getInstance();
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Connor - 03.11.2005 17:14 Calendar Datum2 = new Calendar.getInstance(); geht irgendwie auch nicht Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Tzwoenn - 03.11.2005 17:31
Zitat:
Calendar Datum2 = new Calendar.getInstance();
geht irgendwie auch nicht
Code:
Calendar Datum2 = Calendar.getInstance();
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - UncleOwen - 03.11.2005 17:41
Zitat:
da aber getInstance() eine statische Methode ist, kannst du sie nicht an einer Instanz der Klasse Calendar, sondern nur an der Klasse selbst aufrufen.
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - Slater - 03.11.2005 17:50 schreibt doch bitte alle Variablennamen klein ;) ansonsten geht übrigens auch noch Calendar c = new GregorianCalendar(year, ..); das ist nämlich eine konkrete Calendar-Klasse, während Calendar selber nur ein besseres Interface darstellt, solche und ähnliche Probleme wirst du aber noch zu tausenden haben, lerne in die API zu schauen/ besser noch vorher ein Lehrbuch zu lesen, was steht ganz oben direkt dick in der API einleitend zum Umgang mit Calendar?
Zitat:
Calendar is an abstract base class for converting between a Date object and a set of integer fields such as YEAR, MONTH, DAY, HOUR, and so on. (A Date object represents a specific instant in time with millisecond precision. See Date for information about the Date class.)
Subclasses of Calendar interpret a Date according to the rules of a specific calendar system. The platform provides one concrete subclass of Calendar: GregorianCalendar. Future subclasses could represent the various types of lunar calendars in use in many parts of the world. Like other locale-sensitive classes, Calendar provides a class method, getInstance, for getting a generally useful object of this type. Calendar's getInstance method returns a Calendar object whose time fields have been initialized with the current date and time: Calendar rightNow = Calendar.getInstance();
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html
Re: Java Editor Warnmeldung die ich nicht so wirklich verstehe - leif - 03.11.2005 18:41
Zitat:
(new Calendar).getInstance() wäre korrekt
[nitpick]Nein, selbst wenn die Klasse nicht abstrakt und der Konstruktor sichtbar wäre, würden da noch immer Klammern nach "Calendar" fehlen[/nitpick]
|