我正在为一些方便的方法编写一些测试用例,我正在更新,并决定看看如果我在0年使用LocalDate的isLeapYear()方法会发生什么.据我所知,0年实际上从未存在过:公元1年前的那一年是1公元前.(这是基于我多年前读过的一篇文章,其中我早已忘记了这篇文章.)令我惊讶的是,我的测试表明,0年是闰年!
我意识到java.time.LocalDate该类实现了ISO-8601,但ISO-8601是否真的表明存在0年?我不愿意相信那些经过测试的人LocalDate会错过这个测试用例,但我也不愿意相信像ISO-8601这样的国际标准会犯这样一个明显的错误.
另一种可能性是我读过的文章只是错了.(或者它是正确的,但后来又重新考虑了.)
这并不是非常重要,但我很想知道错误在哪里:ISO-8601,Java的LocalDate课程,或者我对时间如何计算的理解.
我刚尝试在Android Studio中创建并运行我的第一个临时文件,但它拒绝执行.一旦我"弄清楚"代码,并尝试执行它,它总是给我这个消息:
"C:\ Program Files\Android\Android Studio\jre\bin\java"" - javaagent:C:\ Program Files\Android\Android Studio\lib\idea_rt.jar = 55179:C:\ Program Files\Android\Android Studio\bin"-Dfile.encoding = UTF-8 -classpath"C:\ Users\Kathe.AndroidStudio3.1\system\compile-server\cwfrecyclerview_28cee19d\scratches\out; C:\ Program Files\Android\Android Studio\jre\jre\lib\charsets.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\access-bridge-64.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\cldrdata.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\dnsns.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\jaccess.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\localedata.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext \nashorn.jar ; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\sunec.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\sunjce_provider.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\sunmscapi.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\sunpkcs11.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\ext\zipfs.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\jce.jar; C:\ Program Files\Android\Android Studio\jre\jre\lib\jsse.jar; C:\ Program …
我是 Laravel 新手,正在使用 Laravel 6.x。我需要编写一个验证,查看用户在表单上提供的日期(通过 JQuery 日期选择器),以确保用户选择的日期是当前日期或之前的日期。我无法弄清楚如何在表达式中不使用撇号的情况下表达当前日期,这会扰乱 Laravel 正确理解验证。
例如,如果我写:
'sleep_date' => ['required', 'before-or-equal-date: Date(Y-m-d)']
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为 Date 函数的参数周围没有撇号。但是如果我像这个例子一样添加撇号,Laravel 会说存在语法错误:
'sleep_date' => ['required', 'before-or-equal-date: Date('Y-m-d')']
Run Code Online (Sandbox Code Playgroud)
我该如何编码才能使其按预期工作?
我已经离开Java一段时间了,JUnit 5同时出现了.我正在尝试将一些现有的JUnit 4测试重写为JUnit 5,但我正在努力解决如何处理抛出异常的方法.例如,我有一个名为LocalizationUtils的类(不要与API中找到的任何其他类混淆),它有一个名为getResources()的方法,它需要一个非空的基本名称作为输入并返回如果可以找到相应的资源包.如果基本名称为null,则抛出NullPointerException;如果无法找到资源束,则抛出MissingResourceException.这是代码:
static public ResourceBundle getResources(String baseName) throws NullPointerException, MissingResourceException {
if (baseName == null) {
final String msg = "The base name cannot be null.";
NullPointerException npExcp = new NullPointerException(msg);
Logger logger = Logger.getLogger(CLASS_NAME);
logger.log(Level.SEVERE, msg, npExcp);
throw npExcp;
}
/* Get the resource bundle for the current locale. */
try {
return(ResourceBundle.getBundle(baseName));
}
catch (MissingResourceException mrExcp) {
String msg = "Unable to find resources for base name " + baseName + ".";
Logger logger = Logger.getLogger(CLASS_NAME); …Run Code Online (Sandbox Code Playgroud) 我正处于学习 Kotlin 的早期阶段,所以我播放了一个视频,其中展示了许多常见的 Kotlin 习语:Kotlin 教程
就在视频的 1:03:10 处,演示者讨论了可变和不可变集合。正如您在视频中看到的,他使用 var 关键字创建了一个 MutableList,并使用 val 关键字创建了一个不可变列表。我很好奇如果我尝试将 val 与 MutableList 一起使用会发生什么错误;我认为这是不允许的,IDEA 会显示一条消息,但它没有给我任何错误消息。然后我向 MutableList 添加了一个元素,这也没有导致错误!当我显示 MutableList 的最后一个元素时,它显示了我添加的元素,因此它不仅没有给我一个错误,而且成功地将一个元素添加到我认为不可变的元素中。
为什么我的代码可以工作?我不敢相信像我这样的 Kotlin 初学者竟然发现了 Kotlin 中的一个基本错误,所以一定还有其他原因。有人可以解释一下吗?
这是我的代码:
val list3: MutableList<Int> = mutableListOf(6,7,8)
list3.add(5)
println("list3 last item: ${list3.last()}")
Run Code Online (Sandbox Code Playgroud)
println() 语句显示:
list3 last item: 5
Run Code Online (Sandbox Code Playgroud)