【问题标题】:Android: Storing int and String values in one multidimensional arrayAndroid:将 int 和 String 值存储在一个多维数组中
【发布时间】:2011-11-19 13:34:08
【问题描述】:

是否可以将不同的值存储到 int 和 String 等多维数组中?

String[][] mainArray= new String[2][2];

    mainArray[0][0] = 1;
    mainArray[0][1] = "Name1";
    mainArray[1][0] = 2;
    mainArray[1][1] = "Name2";

这显然不起作用,因为 1 和 2 不是字符串值

【问题讨论】:

    标签: android string multidimensional-array int


    【解决方案1】:

    你可以创建一个Object数组,并保存Integers,这是原始int的装箱。

    Object[][] arr = new Object[2][2];
    arr[0][0] = "hello";
    arr[0][1] = Integer.valueOf(1);
    arr[1][0] = Integer.valueOf(2);
    arr[1][1] = "world";
    

    【讨论】:

    • 我没有早点指出这一点是我的错。我需要能够对数组进行排序。据我了解,对象不可排序。
    【解决方案2】:

    是的,您可以存储 试试这个

            String[][] mainArray= new String[2][2];
    
            mainArray[0][0] = String.valueOf(1);
            mainArray[0][1] = "Name1";
            mainArray[1][0] = String.valueOf(2);
            mainArray[1][1] = "Name2";
    

    【讨论】:

    • 在这段代码中,1 和 2 的值仍然是字符串。当我将两者相加时,我得到的结果是 12 ("1"+"2") 而不是 3 (1+2)
    【解决方案3】:

    解决办法

    Object[][] arr=new Object[anysize][]; and you can do like this
    arr[0][0]=1;
    arr[1][0]="hello";
    

    但在访问此数组时,您也应该仅使用 Object 来执行此操作。否则可能会出现 ClassCastException。

    【讨论】:

      猜你喜欢
      • 2015-07-05
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      相关资源
      最近更新 更多