Java 将字符串的固定长度数组传递给setter?
我有一棵树,树上的节点以坐标命名。我只是把这两个单独的坐标串成一个字符串[]坐标,如下所示Java 将字符串的固定长度数组传递给setter?,java,Java,我有一棵树,树上的节点以坐标命名。我只是把这两个单独的坐标串成一个字符串[]坐标,如下所示 class Node { private String[] coordinates; public Node(){ coordinates = new String[2]; } public setCoordinates(String[] coordinates){ this.coordinates = coordinates;
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"});
及
也试过传球
新字符串[2]={}
和[],但这些也不起作用 您必须编写
设置坐标(新字符串[]{“-44.55”,“55.22”})
。(这已经够糟糕的了,你真的应该用两个参数的正常方式来做。)你必须写setCoordinates(新字符串[]{“-44.55”,“55.22})
。(这已经够糟糕的了,你真的应该用两个参数的正常方式来做这件事。)
请改为在下面使用
setCoordinates(new String[]{"-44.55", "55.22"});
创建字符串
数组,并在花括号中传递参数
请改为在下面使用
setCoordinates(new String[]{"-44.55", "55.22"});
创建字符串
数组,并在花括号中传递参数。您应该试试
setCoordinates(new String[]{"-44.55", "55.22"});
这就解决了语法问题
原因:
如果我仔细看的话,你的长度和初始化部分都有问题
您创建了一个长度为2的数组。但稍后您将使用set方法覆盖它
除去所有的混乱,您不必担心构造函数部分。如果您没有2个元素的限制,只需删除它并使用setter即可。您应该试试
setCoordinates(new String[]{"-44.55", "55.22"});
这就解决了语法问题
原因:
如果我仔细看的话,你的长度和初始化部分都有问题
您创建了一个长度为2的数组。但稍后您将使用set方法覆盖它
除去所有的混乱,您不必担心构造函数部分。如果您没有2个元素的限制,只需删除它并使用setter即可。太快了:)分配字符串[]把我搞砸了。谢谢你们两位。当它允许的时候,我会把它标记为答案。编辑:我正在传递参数。我只是想通过这种方式让事情变得更清楚。这太快了:)分配字符串[]把我搞砸了。谢谢你们两位。当它允许的时候,我会把它标记为答案。编辑:我正在传递参数。我只是想通过这种方式让事情变得更清楚。很抱歉,你的链接没有说明我是怎么搞砸的。将数组初始化为字符串[2]允许位置0和1,不是吗?你是说传递的参数也应该显式为字符串[2]?@mitbanip你标记了一个长度为2的数组,然后用setter对其进行验证。很抱歉,你的链接没有说明我是如何搞砸的。将数组初始化为字符串[2]允许位置0和1,否?您是说传递的参数也应显式为字符串[2]?@mitbanip您标记了一个长度为2的数组,然后使用setter对其进行验证。可能重复的可能重复的