Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Allgemeine Java-Programmierung > Date hireday = GregorianCalendar......
Antwort
 
Themen-Optionen
Alt 04.03.2005, 13:58   Nach oben    #1
Java17
Gast
 
Beiträge: n/a
Standard Date hireday = GregorianCalendar......

Hallo,

wie funktioniert denn das?

private Date hireday;
// Variable vom Type Date, die einmal auf ein Objekt vom Typ Date zeigen wird, oder?

Und nun das:
GregorianCalendar cal = new GregorianCalendar (.......);
hireday = cal.getTime();

????? Zum Verständnis: Ich habe doch damit ein neues Objekt, dessen Variable cal mir nun auf dieses neu erzeugte Objekt irgendwo im Speicher zeigt. Diese Referenz ist doch nun in der Variable cal.
Doch was soll nun die nächste Zeile? Ich hole mir die Zeit von meinem Objekt und weise diese der Variablen hireday vom Typ Date zu. Was steht nun in dieser Variablen: eine Referenz auf ein noch nicht entstandenes ObjektDate? oder die mir vom Objekt geholte Zeit, oder ????????
Ich bin verwirrt. Wäre wirklich sehr nett, wenn ihr mich da aufklären könnt.

Einen ganz lieben Gruß
Jasmin
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.03.2005, 14:02   Nach oben    #2
peschmae
Erfahrener Benutzer
 
Benutzerbild von peschmae
 
Registriert seit: 29.05.2004
Beiträge: 228
Standard

hireday ist dann eine Referenz auf ein Objekt vom Typ Date das (offenbar) von der Funktion cal.getTime() intern irgendwo erzeugt wird (mittels new natürlich, genau wie wenn du das selber auch machen würdest).

MfG Peschmä
__________________
Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM
"We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth
peschmae ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.03.2005, 19:58   Nach oben    #3
mic_checker
Gast
 
Beiträge: n/a
Standard

Siehe API:
Zitat:
getTime

public final Date getTime()

Gets this Calendar's current time.
cal ist ein Objekt vom Typ "GregorianCalendar", mit :

Code:
 hireday = cal.getTime();
kannst du GregorianCalendar in Date "umwandeln".
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.03.2005, 16:49   Nach oben    #4
Java17
Gast
 
Beiträge: n/a
Standard ist dieses interne Erzeugen vom Objekt häufig?

Hallo,

dann kann ich von dem folgenden Code auch ausgehen, dass dieser
intern, ohne dass ich ein new aussprechen muß,ein Dimensionsobjekt
erzeugt wurde?

Toolkit kit= Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize(); //wird hier automatisch ein
Dimensionsobjekt screenSize erzeugt, ohne new?!?
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;

Kann ich bei solchen Konstellationen immer davon ausgehen, dass ich nie selber ein neues Objekt erstellen muß??? Oder gibt es dazu sogar Regeln, die ich nicht kenne?

Danke Euch für eure Antworten,
einen ganz lieben Gruß
Jasmin
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.03.2005, 17:31   Nach oben    #5
mic_checker
Gast
 
Beiträge: n/a
Standard

Woran du das erkennst?

Um beim GregorianCalendar/Date Beispiel zu bleiben:

Code:
    public final Date getTime() {
        return new Date( getTimeInMillis() );
    }
-> Siehe Sources von Calendar

Wie du siehst wird da ein neues Objekt erzeugt.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.03.2005, 18:02   Nach oben    #6
pago
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.091
Standard

Wenn eine Methode sagt, dass sie ein Objekt zurückgibt, dann tut sie das auch.
In Ausnahmefällen werden dann Exceptions geworfen (steht meistens in der Doku) oder (was meistens nicht so gut ist, aber gern gemacht wird - steht aber auch in der Doku) null.
Erstere fängst du mit try-catch ab, letztere kannst du mit if abfragen.

Wenn nichts in der Doku steht kannst du davon ausgehen, dass das richtige zurückgegeben wird (ansonsten kriegst du zur Laufzeit ne NullpointerException).

Davon abgesehen: In den seltesten Fällen wird jedesmal ein neues Objekt erzeugt. Häufig wird einfach nur eine interne Referenz auf ein Objekt zurückgegeben.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2005, 12:09   Nach oben    #7
Northstar
Neuer Benutzer
 
Registriert seit: 24.02.2005
Beiträge: 29
Standard

Mal ne Frage gibt es ne fertige Komponente zum Berchnen von Geburtstagen?
Ich frag hier für nen Freund der sich beruflich damit per jsp rumprügeln muss.
Northstar ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2005, 12:29   Nach oben    #8
mic_checker
Gast
 
Beiträge: n/a
Standard

Was genau meinst du mit "Berechnung" von Geburtstagen?
Meinst du welcher Tag der ..,..,..... ist oder was?
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2005, 15:57   Nach oben    #9
Northstar
Neuer Benutzer
 
Registriert seit: 24.02.2005
Beiträge: 29
Standard

Jup das mein ich sorry, falls ich mich mal wieder unverständlich ausgedrückt habe
Northstar ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2005, 16:13   Nach oben    #10
mic_checker
Gast
 
Beiträge: n/a
Standard

Guck dir mal GregorianCalendar genauer an:
http://java.sun.com/j2se/1.5.0/docs/...nCalendar.html

Kannst es ja in etwa so machen:

Code:
        GregorianCalendar cal = new GregorianCalendar(....,..,..);
        int i=(cal.get(GregorianCalendar.DAY_OF_WEEK));
        switch (i)
        {
        case GregorianCalendar.MONDAY:
            System.out.println("MO");
            break;

        case GregorianCalendar.TUESDAY:
            System.out.println("DI");
            break;
        case GregorianCalendar.WEDNESDAY:
            System.out.println("MI");
            break;
        case GregorianCalendar.THURSDAY:
            System.out.println("DO");
            break;
        case GregorianCalendar.FRIDAY:
            System.out.println("FR");
            break;
        case GregorianCalendar.SATURDAY:
            System.out.println("SA");
            break;
        case GregorianCalendar.SUNDAY:
            System.out.println("SO");
            break;
        default:
            break;
        }
Pass aber beim Konstruktor auf:

Zitat:
year - the value used to set the YEAR calendar field in the calendar.
month - the value used to set the MONTH calendar field in the calendar. Month value is 0-based. e.g., 0 for January.
dayOfMonth - the value used to set the DAY_OF_MONTH calendar field in the calendar.
-> Januar = 0 etc.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2005, 16:59   Nach oben    #11
Northstar
Neuer Benutzer
 
Registriert seit: 24.02.2005
Beiträge: 29
Standard

Vielen Dank für den Tipp und Code
Northstar ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit date() la-finest PHP-Programmierung 7 03.04.2006 09:52
Probleme mit date() bzw. Pear_Date lokari PEAR, PECL und Frameworks 19 10.01.2006 22:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:13 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44