• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyświetlanie klasy GregorianCalendar

Object Storage Arubacloud
0 głosów
292 wizyt
pytanie zadane 6 maja 2017 w Java przez woks Nowicjusz (230 p.)
edycja 6 maja 2017 przez woks

Czemu nie mogę w prosty sposób wydrukować daty z klasy GregorianCalendar?

import java.util.Date;
import java.util.GregorianCalendar;

public class Data 
{

	public static void main(String[] args) 
	{
		GregorianCalendar time = new GregorianCalendar(1999, 2, 2);
		System.out.println(time);
	}

	
	
}

Pytam w kontekście klasy "Date"? Czemu w GregorianCalendar muszę dobierać się do getera a w Date już nie?

1 odpowiedź

0 głosów
odpowiedź 7 maja 2017 przez adrian313 Bywalec (2,850 p.)
edycja 7 maja 2017 przez adrian313

Bo twórcy biblioteki GregorianCalendar tak ją zaprojektowali, że metoda toString() jest zalecana tylko do celów debugowania. A datę pobieramy getterami. Czytając z dokumentacji " This method is intended to be used only for debugging purposes, and the format of the returned string may vary between implementations. The returned string may be empty but may not be null."

podczas wywołania System.out.println(time);
domyślnie na obiekcie time klasy GregorianCalendar wywoływana jest metoda toString(), która wypisuje wszystkie pola tej klasy (albo większość nie zgłebiałem się).

Ewentualnie można przeładować (Overriding) toString np. tak:

GregorianCalendar time = new GregorianCalendar(1999, 2, 2){
  public String toString() {
    return String.format("%d/%02d/%02d", get(YEAR), get(MONTH), get(DAY_OF_MONTH));
  }
};



Natomiast na obiekcie klasy Date metoda toString() działa tak jak w GregorianCalender getTime(), czyli ładnie zwraca to co zazwyczaj mamy na myśli wywołując toString na obiekcie danej klasy.

Podobne pytania

0 głosów
0 odpowiedzi 181 wizyt
pytanie zadane 8 listopada 2022 w Java przez CanoNee Nowicjusz (230 p.)
0 głosów
1 odpowiedź 242 wizyt
+1 głos
1 odpowiedź 204 wizyt
pytanie zadane 12 lutego 2022 w Java przez mewtwo Użytkownik (830 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...