【问题标题】:Java The left-hand side of an assignment must be a variable [duplicate]Java赋值的左侧必须是变量[重复]
【发布时间】:2014-08-11 17:18:14
【问题描述】:

我在这里遇到了问题。我收到错误,赋值的左侧必须是变量。但我不明白问题出在哪里。顺便说一句,JSONarray 有很多,我只是举一个例子。

public class As
{

static JSONArray temp0=new JSONArray();


public static void main(String[] args) throws  IOException 
{
      arrayValues(0)=new JSONArray(); //The left-hand side of an assignment must be a variable
}
 public static JSONArray arrayValues(int ip)
    {
        switch (ip)
        {
            case 0:
            return temp0;
        }
        return null;

    }
}

谢谢大家

【问题讨论】:

  • == - 你确定你是这个意思吗?
  • 一个基本的java教程将是一个好的开始我的朋友。
  • @BitNinja: arrayValues 似乎是这里的一种方法...
  • @OliCharlesworth 确实如此!我只是根据名称假设...
  • @user3930508:没有人说你很愚蠢。但是您发布的代码与您声称的错误不符。

标签: java variables arrays


【解决方案1】:

你有两个问题:

arrayValues(0)==new JSONArray()

  1. == 不是赋值。 =
  2. 您不能分配给方法调用返回的值。您只能分配给一个变量。

虽然根据您收到的错误,#1 可能是您问题中的错字,您确实使用了=

你可以写

JSONArray var = new JSONArray();

JSONArray var = arrayValues(0);

但不是

arrayValues(0)=new JSONArray();

【讨论】:

  • 对不起,我输入了“=”,但我不会工作
  • @user3930508 在这种情况下,唯一的问题是#2
  • 那么解决办法是什么?
  • @user3930508 这完全取决于您要做什么。
  • 好吧,我想做的是我有很多 JSONarrays,使用 switch 很容易得到它们。
【解决方案2】:

刚刚看到你的代码arrayValues(0)==new JSONArray();

你需要知道

  1. java数组的工作原理--请参考http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
  2. 什么是 == 和 =? -- == 用于比较,= 用于赋值

【讨论】:

  • 对不起,我的意思是“=”
猜你喜欢
  • 1970-01-01
  • 2012-06-29
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
相关资源
最近更新 更多