“和”有什么区别?

时间:2015-04-20 21:03:06

标签: java string if-statement equality

为什么我的代码工作,当我使用"在以下代码中:

for(int i=0;i<7;i++){
        if(grid[row][i]!=0){
            if(player == "yellow"){
                grid[row][i-1] = 'y';
            }
            else if(player == "red"){
                grid[row][i-1] = 'r';
            }
        }
    }

但是,当我使用&#39;在以下代码中:

for(int i=0;i<7;i++){
        if(grid[row][i]!=0){
            if(player == 'yellow'){
                grid[row][i-1] = 'y';
            }
            else if(player == 'red'){
                grid[row][i-1] = 'r';
            }
        }
    }

总是说,&#34;无效的字符常量&#34;。
   - grid是一个二维char变量
   - 行是一个整数    - player是超级类(窗口)受保护的,并且在超类的构造函数中占用了值yellow:

protected String player;

public window() {
    player = "yellow";
}

2 个答案:

答案 0 :(得分:5)

角色只是一个角色,例如&#39; a&#39;或者&#39; b&#39;。字符串是串在一起的一个或多个字符,例如&#34; hello world&#34;或&#34; p&#34;。单引号(&#39;)用于字符文字,而双引号(&#34;)用于字符串。

答案 1 :(得分:3)

在java中,您使用""表示字符串(字符串)和''表示单个字符(Chars)

示例:

  • "The fox jumped"会被双引号括起来,因为它有多个字符。
  • 'c'会被单引号括起来,因为它只有一个字符。

请注意,String可以由单个或多个字符组成,而char则由单个字符组成。