我无法确定数组的类型

时间:2017-08-13 10:32:57

标签: java actionscript-3

我的客户端(As3)将此数组发送到我的服务器(Java)函数:

Graph

但我无法确定类型。

我试过:String [],Object []等等。

服务器端:

{2={y=16.0, x=17.0}, 1={y=17.0, x=17.0}, 0={y=18.0, x=17.0}}

客户端:

 public void MaSuperFonction(Object[] $path){ ... }

但没有成功。

this.groupedList[0] = {x:this.startX,y:this.startY};
this.groupedList[1] = {x:this.startX,y:this.startY};
this.groupedList[2] = {x:this.startX,y:this.startY};

    var path = this.groupedList[0];
      if(this.groupedList.length > 1)
      {
         var i = 1;
         while(i < this.groupedList.length)
         {
            path = path.concat(this.groupedList[i]);
            i = i + 1;
         }
      }
    this.nc.call('MaSuperFonction',path);

2 个答案:

答案 0 :(得分:2)

我宁愿说它是Map<Integer, Point>>,其中Point类可以声明为:

class Point {
    private Double x;
    private Double y;
    // getters/setters
}

你应该明白它是一系列key = value对,它们不能用数组表示(每个数组只包含一个元素)。

答案 1 :(得分:0)

看起来您的客户端正在发送2-d双数组,请参阅下面有关如何创建2-d双数组并迭代它的示例代码: -

public class SOArrayTest {
    public static void main(String[] args) {
        double[][] a = new double[3][2];
        a[0][0] = 16.0;
        a[0][1] = 17.0;
        a[1][0] = 18.0;
        a[1][1] = 19.0;
        a[2][0] = 20.0;
        a[2][1] = 21.0;

        for(int i=0; i<3; i++) {
            for(int j=0; j<2; j++) {
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }
    }
}

你也可以像上面的代码一样修改接受它,在服务器端的二维双数组中。