문제 - 내 응용 프로그램은 수백 대의 컴퓨터에서 프로덕션 환경에서 사용됩니다. 이 문제는 일부 새 컴퓨터를 설치 한 후 내 컴퓨터가 새 컴퓨터에만 충돌하고 있음을 확인한 후에 발생했습니다. 새로운 컴퓨터는 JAVA v8u5와 함께 v7u55를 설치 한 이슈를 수정하려는 시도에서 왔습니다 (버전 관리 문제 일 수 있다고 생각했습니다). 참고 * 나는 JDK의 v7u45 **를 사용하여 컴파일하고 있습니다'Calendar.getDisplayName'이 '알 수없는 소스'로 'IllegalArgumentException'을 제공합니다.
루트 원인 - 실패한 코드가 작동하지 않는 Calendar.getDisplayName(int, int, Locale)
코드를 호출입니다 :
System.out.println("Getting calendar instance");
Calendar instanceCalendarObj = Calendar.getInstance();
String date = instanceCalendarObj.getDisplayName(Calendar.MONTH, 0, Locale.ENGLISH);
date = date.concat(" "+String.valueOf(instanceCalendarObj.get(Calendar.DAY_OF_MONTH)));
date = date.concat(", "+String.valueOf(instanceCalendarObj.get(Calendar.YEAR)));
JOptionPane.showMessageDialog(this, date);
오류 메시지 :
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
at java.util.Calendar.checkDisplayNameParams(Unknown Source)
at java.util.Calendar.getDisplayName(Unknown Source)
아무런 도움이 필요하지 않을 수도 있습니다.
[null 매개 변수에 대해 IllegalArgumentException 또는 NullPointerException이 중복 될 수 있습니까?] (http://stackoverflow.com/questions/3881/illegalargumentexception-or-nullpointerexception-for-a-null-parameter) – Mogsdad