字符串可以用在三元条件语句中吗?

Can strings be used in a ternary conditional statement?

我是 Java 的(非常)新手,一直在使用 Codecademy,在学习了三元条件之后,我想知道是否可以使用字符串代替 char?我知道字符串在 Java 中不是真正的原始数据类型,而 char 是,但看起来你应该能够打印出一个字符串而不是单个字符而不必使用 if/else 语句或类似的东西。

//my ternary with char
public class dogBreeds
{
   public static void main(String[] args)
   {
       int dogType = 2;
       char dalmation = (dogType == 2) ? 'Y':'N';
   }
}

//my ternary with string (or something like it) in place of char
public class dogBreeds
{
   public static void main(String[] args)
   {
      int dogType = 2;
      String dalmation = (dogType == 2) ? 'Yes':'No';
   }
}

应该是

String dalmation = (dogType == 2) ? "Yes": "No";

在表示 String 时,使用双引号,因为它们表示字符串文字。单引号表示 char 文字:

String dalmation = (dogType == 2) ? "Yes" : "No";

Stringchar 类型存在差异。字符串是不可变的,创建后不能更改。当一个 String 对象被创建并调用构造函数时,它不能被改变。如果你想使用 Strings,如果你希望它是可变的,请考虑 StringBuilder

应该是

String dalmation = (dogType == 2) ? "Yes":"No";

字符串使用 double quotes 括起来,其中字符在 single quotes

中提到

你打错了.. 当你这样做时

String dalmation = (dogType == 2) ? 'Yes': 'No';

您使用的是字符符号(单引号),必须用双引号。 .喜欢:

String dalmation = (dogType == 2) ? "Yes": "No";