【问题标题】:Android/Java : Returning postion of ArrayAndroid/Java:返回数组的位置
【发布时间】:2013-02-10 10:55:45
【问题描述】:

我正在开发一个应用程序,该应用程序可以记录每个用户介绍的答案。为此,我有一个Array,具体取决于每个用户的回答。

我想要做的是获取这些答案并在另一个类中使用它们,例如以便在 XML 中序列化这些答案。

我想知道是否有办法以更简单的方式返回答案。我现在拥有的是以下代码,但它的效率很低:

        public static String[] Respuestas = {"","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};

       public static String getRespuesta1(){
            return Respuestas[0];
        }
        public static String getRespuesta2(){
            return Respuestas[1];
        }

以此类推,直到得到 Respuesta30()。

【问题讨论】:

    标签: java android arrays return


    【解决方案1】:

    在方法getRespuesta 中添加一个整数参数,指定您感兴趣的索引。为每个元素使用单独的方法根本不是一个好主意。

    【讨论】:

      【解决方案2】:

      你不必为这种情况创建30个方法,你不能简单地调用:

      MyClass.Respuestas[x]; //where x is any number from 0 to 30?
      

      如果你真的需要一个方法,根据这段代码的 sn-p 判断你似乎不需要它,然后将索引作为参数传递:

      public static String getRespuestaByIndex(int index)
      {
          return Respuestas[index];
      }
      

      【讨论】:

        【解决方案3】:

        对于您的任务,上述方法显然是更好的解决方案,而不是拥有 30 个执行相同操作的函数。还有一件事,请像这样定义数组:

        public static String[] Respuestas = new String[30];
        

        您也可以在方括号内设置迭代 [] ,但我认为您不需要。

        【讨论】:

        • 嗨,如果我这样做,它会显示 NullPointerException。
        • 抱歉,已更正。我不知道我为什么写它,但是是的,空指针异常来自这样一个事实,即数组没有任何分配的空间。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-08
        • 1970-01-01
        • 1970-01-01
        • 2014-06-10
        相关资源
        最近更新 更多