我想知道如何在Java中创建一个空集映射。
现在,我正在尝试按照以下方式执行此操作,但遇到了静态错误。
var multiply = function(x, y) {
//add y x times
// function log10(val) {
// return Math.log(val) / Math.LN10;
// }
// return Math.round(Math.pow(10, (log10(x) + log10(y))))
if(x === 1){
return y;
}
if(y === 1){
return x;
}
if (x === 0 || y === 0) {
return 0;
}
//if one is negative
if(x < 0 ^ y <0){
return -multiply(Math.abs(x), Math.abs(y))
}
//if both are negative
if(x<0 && y<0){
return multiply(Math.abs(x), Math.abs(y));
}
//subroutine:
var addY = function (x, y){
var total= 0;
for(var i = 0; i<x; i++){
total += y;
}
return total;
}
return addY(x, y);
};
console.log(multiply(55, -2))
// ---> returns -110 woohoo!
执行此操作的正确语法是什么?
答案 0 :(得分:1)
创建新实例的语法是new ClassName<generic spec>([arguments])
。即使您不想将任何参数传递给构造函数,您仍然需要使用括号。你的代码有一个拼写错误 - 参数列表应该在之后,而不是在它们里面。
Map<String, Set<String>> mapOfSets = new HashMap<String, Set<String>>();
请注意,从Java 7开始,您可以使用空的尖括号("the diamond"),并允许Java推断泛型类型参数,而不必在减速和新实例创建中重复它们:
Map<String, Set<String>> mapOfSets = new HashMap<>();
答案 1 :(得分:0)
你错过了括号。 Map<String, Set<String>> MapOfSets = new HashMap<String, Set<String>>();
答案 2 :(得分:-1)
Map<String, Set<String>> MapOfSets = new HashMap<String, Set<String>>();