据我所知,Java 8 JLS表达式(1/0)
被认为是一个常量表达式,但是当我尝试使用OpenJDK 8编译以下程序时出现错误
public class Switch {
public static void main(String[] args) {
switch(42) {
case (1/0):
return;
default:
return;
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误说(1/0)
不是一个常量表达式
Switch.java:4: error: constant expression required
case (1/0):
^
1 error
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?或者它是OpenJDK 8中的错误?
我正在为ocaml寻找代码格式化程序或漂亮的打印机.像编程语言的gofmt之类的东西.它应该最好保留评论.
我正在纠正手工操作,并且一些代码的格式化使得它很难阅读.
我发现了一个有趣的问题.
我正在尝试使用NGINX的gzip_static模块提供一些gzip压缩文件(我知道这方面的缺点).这意味着您可以在将使用transfer-encoding:gzip提供服务器的服务器上使用gzip压缩文件.例如,如果有一个文件/foo.html.gz,则会对带有content-encoding:text/html的压缩文件提供/foo.html请求.
虽然这通常有效,但事实证明,当在目录中查找索引文件时,不考虑gzip压缩版本.
GET /index.html
200
GET /
403
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道如何解决这个问题.我尝试index.html.gz
在索引文件中设置,但它作为gzip文件而不是gzip编码的html文件.
我想知道用资源格式化 try 块的代码约定是什么,尤其是多个资源。目前我将每个资源放在自己的行上,以分号结尾,并使用 vim 的缩进级别(2 个制表符),如下所示:
try (
InputStream in1 = ...;
InputStream in2 = ...;
) {
...;
}
Run Code Online (Sandbox Code Playgroud)
我还看到人们使用分号作为分隔符而不是终止符,并且只在每个资源之间使用换行符,如下所示:
try (InputStream in1 = ...;
InputStream in2 = ...) {
...;
}
Run Code Online (Sandbox Code Playgroud)
什么是公约?
我正在使用xsl脚本从xml的所有部分删除注释.它实际上删除了父节点中的注释,但没有删除其他内部节点中的注释.
[编辑]
更新问题.我的要求是从整个XML文档中删除所有注释.
我试图理解在Dart中使用async和await.不知何故,我在某些方法中返回值时遇到问题.
请考虑以下代码
Future<int> getMrn() async {
var mrnRef = await firebaseClient.child('mrn');
DataSnapshot ss;
StreamSubscription<Event> onValueSubscription = await mrnRef.onValue
.listen((event) {
ss = event.snapshot;
return ss.val();
});
//return Future<int> ss.val();
}
Run Code Online (Sandbox Code Playgroud)
mrn
是int
应该通过getMrn
方法返回的类型.但是每次返回都会ss.val()
返回null
.似乎ss = event.snapshot
在最后返回的值中没有看到
这样做的正确方法是什么.谢谢
我有以下代码:
SimpleDateFormat formatDDMMYYY = new SimpleDateFormat("dd/MM/yyyy");
Calendar quotationDay = Calendar.getInstance();
try {
quotationDay.setTime(formatDDMMYYY.parse("06/13/2015"));
} catch (ParseException e) {
throw new RuntimeException("Quotation date is in incorrect format.");
}
Run Code Online (Sandbox Code Playgroud)
日期"06/13/2015"不正确,因为没有第13个月.Java会在2016年自动将其解析到下个月.有什么办法可以防止这种情况发生并抛出异常吗?
java ×3
dart ×1
date-parsing ×1
gzip ×1
indentation ×1
java-7 ×1
java-8 ×1
jls ×1
nginx ×1
ocaml ×1
openjdk ×1
readability ×1
xml ×1
xslt ×1