2013-04-17 3 views
-1

У меня есть этот метод:java.util.Date имеет два разных выхода?

void updatePet(String userid, int index, int happiness, Date lastUpdated, PetLifePhase state, Date created) 

Все звонки на ней регистрируется (с помощью отражения Proxy). Аргументы String.valueOf() «d и сцепляются:

updatePet(xxxxxxxx,18,-96,Wed Apr 17 08:10:11 UTC 2013,ACTIVE,2013-04-10 08:01:12.442) 

Обратите внимание на выходе из двух Date аргументов:

  • lastUpdated: Wed Apr 17 08:10:11 UTC 2013 (следует Javadoc из Date.toString())
  • created: 2013-04-10 08:01:12.442

Как, почему, когда, да? Почему один и тот же метод выводит два разных формата? Я посмотрел в источнике этого toString(), но он довольно жестко запрограммирован для вывода первого формата, нет if s, который мог бы решить иначе.

+0

1) Не могли бы вы предоставить код, который формирует протоколирования запись 2) как вы называете 'updatePet', может быть один - это 'java.util.Date', а второй -« Календарь »3). Вы называете синхронным? – Dewfy

+0

Являются ли они такими же типами (классом) объектов Date? – NilsH

+0

Проверьте свой класс импорта. Используете ли вы тот же класс Date? – Drogba

ответ

0

Вы уверены, что ваши два Date s на самом деле тот же тип Date?

Они могут быть подтипы Date переопределения метода toString() по-другому (например, Timestamp который не переопределяют toString()).

+1

Хорошо, переключение на JodaTime 'DateTime' внутри. По крайней мере, этот класс «финал»: p –

0

Я предполагаю, что created относится к подклассу Timestamp, который имеет формат yyyy-mm-dd hh:mm:ss.fffffffff.

0

Почти centainly, у вас есть один параметр, который является экземпляром java.util.Date и другой, который является экземпляром java.sql.Date или java.sql.Timestamp

Смежные вопросы