我有一棵树,其节点由坐标命名。我只是将这两个单独的坐标聚合成一个String []坐标,如此
class Node {
private String[] coordinates;
public Node(){
coordinates = new String[2];
}
public setCoordinates(String[] coordinates){
this.coordinates = coordinates;
}
我确定解决方案必须简单。假设我不想要一个特殊的setter,它接受两个字符串并单独设置它们,坐标[0] = X,坐标[1] = Y.这很明显。我怎样才能将一个字符串数组传递给固定长度的setter?
我试过
setCoordinates({"-44.55", "55.22"});
和
setCoordinates(["-44.55", "55.22"});
也试过传球 new String [2] = {} 和[],但那些也不起作用。
答案 0 :(得分:3)
你必须写setCoordinates(new String[] {"-44.55", "55.22"})
。 (这很糟糕,你应该用两个参数正常地做这个。)
答案 1 :(得分:2)
setCoordinates({"-44.55", "55.22"});
改为使用
setCoordinates(new String[]{"-44.55", "55.22"});
创建String
数组并用大括号传递参数。
答案 2 :(得分:0)
你应该试试
setCoordinates(new String[]{"-44.55", "55.22"});
这可以解决您的语法问题。
如果我仔细看,你可以使用你的长度和初始化部分进行测试。
您创建了一个长度为2的数组。但稍后您将使用set方法覆盖它。
删除所有混乱,你不必担心你的构造函数部分。如果您没有2个元素的限制,只需将其删除并仅使用setter。