2016-07-07 96 views
-1

我对Java非常陌生,并且一直在使用Codecademy,并且在了解三元条件之后,我想知道是否可以使用字符串代替char?我知道在Java中字符串不是真正的原始数据类型,而字符是,但是您似乎应该能够打印出字符串而不是单个字符,而不必使用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'; 
    } 
} 
+3

对于字符串使用双引号。字符串是不可变的。 – Li357

+0

这也是你应该使用'enum DogType'来代替magic int的情况。 – chrylis

回答

1

当代表String S,使用双引号,因为它们意味着一个字符串。单引号表示一个char文字:

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

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

2

应该

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

我以为袋熊怕狗:-P –

+0

可怕的袋熊不害怕的是新鲜的 –

+0

他们很可怕,我会给你那:) – Li357

0

应该是这样

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

字符串使用double quotes函所附哪里都是这样做时

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

字符与single quotes

0

你有一个错字.. 提到您正在使用char符号(单引号),它必须用双引号完成。 。如:

String dalmation = (dogType == 2) ? "Yes": "No"; 
相关问题