🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
4 messages
4 total messages Started by Piotr Rezmer Tue, 20 Nov 2012 09:34
Precyzyjniejszy Date
#153642
Author: Piotr Rezmer
Date: Tue, 20 Nov 2012 09:34
18 lines
1602 bytes
Witam,

Chciałbym aby obiekt typu Date był konwertowany na String przez metody 
logujące. Aktualnie domyślna konwersja to zamiana na ciąg o postaci 
yyyy-MM-dd hh:nn:ss. Chciałbym by był z milisekundami czyli yyyy-MM-dd 
hh:nn:ss:SSS.
Aktualnie używam klasy ChangeDate dziedziczącej z Date. Próbowałem 
nadpisać metodę toString. No i w części przypadków to działa (korzystam 
ze SmartInspect) np. w metodzie LogObject(). Jednak w metodzie 
enterMethod("nazwa metody", new Object[] { changeDate } ) argument jest 
już parsowany wg krótkiego formatu (bez sekund).

Czy da się to poprawić, zakładając minimalizację zmian w kodzie?

-- 
pozdrawiam
Piotr
XLR250&bmw_f650_dakar
Re: Precyzyjniejszy Date
#153652
Author: TrzyLinie
Date: Tue, 20 Nov 2012 12:36
10 lines
1874 bytes
W dniu 2012-11-20 10:34, Piotr Rezmer napisał(a):
> Chciałbym aby obiekt typu Date był konwertowany na String przez metody logujące. Aktualnie domyślna konwersja to zamiana na ciąg o postaci yyyy-MM-dd hh:nn:ss. Chciałbym by
> był z milisekundami czyli yyyy-MM-dd hh:nn:ss:SSS.
> Aktualnie używam klasy ChangeDate dziedziczącej z Date. Próbowałem nadpisać metodę toString. No i w części przypadków to działa (korzystam ze SmartInspect) np. w metodzie
> LogObject(). Jednak w metodzie enterMethod("nazwa metody", new Object[] { changeDate } ) argument jest już parsowany wg krótkiego formatu (bez sekund).

Może zamiast rejestrować obiekt klasy ChangeDate rejestruj (ChangeDate).toString()?

-- 
TrzyLinie
Re: Precyzyjniejszy Date
#153657
Author: Piotr Rezmer
Date: Fri, 30 Nov 2012 16:52
13 lines
1465 bytes
TrzyLinie pisze:

> Może zamiast rejestrować obiekt klasy ChangeDate rejestruj
> (ChangeDate).toString()?

Sorry że dopiero teraz dopytuję się ale jak zarejestrować metodę? 
Rozumiem, że domyślne użycie metody .toString() wynika z autoboxingu? 
Czy sugerujesz, że da się nakłonić runtime do wyboru innej metody?

-- 
pozdrawiam
Piotr
XLR250&bmw_f650_dakar
Re: Precyzyjniejszy Date
#153643
Author: TrzyLinie
Date: Sat, 01 Dec 2012 07:53
18 lines
2018 bytes
W dniu 2012-11-30 17:52, Piotr Rezmer napisał(a):
> TrzyLinie pisze:
>> Może zamiast rejestrować obiekt klasy ChangeDate rejestruj
>> (ChangeDate).toString()?
>
> Sorry że dopiero teraz dopytuję się ale jak zarejestrować metodę? Rozumiem, że domyślne użycie metody .toString() wynika z autoboxingu? Czy sugerujesz, że da się nakłonić
> runtime do wyboru innej metody?

Zamiast enterMethod("nazwa metody", new Object[] { changeDate } użyj
enterMethod("nazwa metody", new Object[] { changeDate.toString() }
a to będzie Twój toString() z milisekundami.

Autoboxing dotyczy tylko automatycznego pakowania/odpakowania danych
w typach prostych w obiekty odpowiednich klas kopertowych, tu nie widzę
zastosowania.

-- 
TrzyLinie
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads