我MINDATE在MyConstants文件中有一个变量。你可以看到下面的声明。
public static final LocalDateTime MINDATE = LocalDateTime.of(LocalDate.of(2011, 1, 1), LocalTime.MIDNIGHT);
我只是通过使用在另一个类中使用这个变量MyConstants.MINDATE 然后我得到以下异常
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.cw.na.vos.DateTest.main(DateTest.java:14)
Caused by: java.lang.IllegalArgumentException: Unknown pattern letter: T
at java.time.format.DateTimeFormatterBuilder.parsePattern(Unknown Source)
at java.time.format.DateTimeFormatterBuilder.appendPattern(Unknown Source)
at java.time.format.DateTimeFormatter.ofPattern(Unknown Source)
at com.cw.na.vos.MyConstants.<clinit>(MyConstants.java:228)
... 1 more
我无法理解其背后的原因。
public class DateTest {
static final LocalDateTime minD = LocalDateTime.of(LocalDate.of(2011, 1, 1), LocalTime.MIDNIGHT);
public static void main(String[] args) {
LocalDateTime ldt = LocalDateTime.of(LocalDate.of(2011, 1, 1), LocalTime.MIDNIGHT);
System.out.println(minD); // success
System.out.println(ldt); //success
System.out.println(MyConstants.MINDATE); //ExceptionInInitializerError
}
}
如果我在本地类中创建相同的变量,那么它可以工作,但是当我LocalDateTime从不同的类访问类似的变量时,它会引发异常。
相关分类