" 和 ' 有什么区别?

What's the difference between " and '?

当我在以下代码中使用 " 时,为什么我的代码有效:

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';
            }
        }
    }

但是当我在以下代码中使用 ' 时不起作用:

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';
            }
        }
    }

一直在说,"Invalid character constant"。
- 网格是一个二维字符变量
- 行是一个整数
- 玩家是受保护的超级 class (window) 并且在超级 class 的构造函数中占用了黄色值:

protected String player;

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

字符就是一个字符,例如'a'或'b'。字符串是一个或多个字符串在一起,如 "hello world" 或 "p"。单引号 (') 用于字符文字,而双引号 (") 用于字符串。

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

示例:

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

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