gpt4 book ai didi

java - “Calendar.getDisplayName”给出 'IllegalArgumentException' 和 'Unknown Source'

转载 作者:行者123 更新时间:2023-11-30 03:54:35 25 4
gpt4 key购买 nike

问题 - 我的应用程序在跨越数百台计算机的生产环境中使用。安装一些新计算机并发现我的应用程序仅在新计算机上崩溃后出现了问题。新计算机配备了 JAVA v8u5,为了解决这个问题,我还安装了 v7u55(我认为这可能是版本控制问题)。注意* 我正在使用 JDK v7u45 进行编译 **

根本原因 - 失败的代码是对 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)

任何帮助将不胜感激,即使它只是一个解决方法。

最佳答案

您向 getDisplayName() 方法传递了错误的参数。

第二个参数是样式,其可能的值为Calendar.SHORTCalendar.LONG。使用这些常量,如下所示:

Calendar c = Calendar.getInstance();
c.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.ENGLISH);
c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH);

顺便说一句,Calendar.SHORTCalendar.LONG 的常量值为 1 和 2(并且您在代码中传递了 0)。但始终使用常量名称而不是它们的值!

关于java - “Calendar.getDisplayName”给出 'IllegalArgumentException' 和 'Unknown Source',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23564368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com