×. 有一次,同时说看日志log的时候,发现一个方法前后两次打印同一个对象的时间log格式不一样。
当时也没在意,再一次debug查代码的时候,发现了这个问题的答案。一个时间是Timestamp(date类的子类)
这个对象是jdbc从数据库找找出设到变量中去的。而另一个是Date对象。他们的toString方法不一样,所以答应的格式不一样。而偏偏在两段log打印代码中间,将new 出来的Date对象设置到这个变量中去了。导致了这次诡异事件。这件事告诉我们,凡是总有原因的,不存在诡异。
1. public Field[] getFields() throws SecurityException
本类+父类+接口public 字段。返回数组中的元素没有排序,也没有任何特定的顺序。如果类或接口没有可访问的公共字段,或者表示一个数组类、一个基本类型或 void,则此方法返回长度为 0 的数组。
2. public Field[] getDeclaredFields() throws SecurityException
本类或者接口声明的所以变量。包括公共、保护、默认(包)访问和私有成员变量,不包括继承的字段。返回数组中的元素没有排序,也没有任何特定的顺序。如果该类或接口不声明任何字段,或者此 Class 对象表示一个基本类型、一个数组类或 void,则此方法返回一个长度为 0 的数组。