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

时间:2016-07-07 04:58:18

标签: java string char conditional ternary

我(非常)刚接触Java并且一直在使用Codecademy,在了解了三元条件后,我想知道是否可以使用字符串代替char?我知道字符串在Java中不是真正的原始数据类型而char是,但似乎你应该能够打印出字符串而不是单个字符,而不必使用if / else语句或类似的东西。 / p>

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

4 个答案:

答案 0 :(得分:2)

应该是

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

答案 1 :(得分:1)

表示String时,请使用双引号表示字符串文字。单引号表示char字面值:

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

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

答案 2 :(得分:0)

应该是

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

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

中提到了字符

答案 3 :(得分:0)

你有一个错字.. 当你这样做时

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

您使用的是char符号(单引号),必须使用双引号。 。像:

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