下面的代码行各进行编译(当然是在单独的方法中):
$("#Datetimepicker").datetimepicker().on('changeDate', function(e) {
console.log('hey');
});
其中一个受到鼓励吗?这些选项之间的行为是否有差异?
答案 0 :(得分:2)
这种声明形式对Java最高适用于版本6
List<String> list = new ArrayList<String>();
这种声明形式对Java 7+版本有效
List<String> list = new ArrayList<>();
最后,对于此版本,编译器将生成未经检查的转换警告,但它可以工作:
List<String> list = new ArrayList();
有关完整说明,请参见此link
答案 1 :(得分:2)
<>
被称为菱形运算符,它根据引用变量声明确定类型。
Recommended is using diamond operator
,因为这样可以避免重复声明或重复声明类型变量,因为从变量声明中可以清楚地看到它,同时允许在未指定的情况下将类型默认为Object类类型。
除了List<String> list = new ArrayList();
发出警告或根本不被认为是一种好习惯之外,以上三个条件均有效。
我的想法: List<String> list = new ArrayList();
从该角度来看也可能是有效的声明,但是它默认为Object类型的数组列表(Java就是这样)。精确地:
如果未指定类型,则默认为“对象类型”