Why does Java require the char variable to use single quotes?

前端 未结 2 663
傲寒
傲寒 2021-01-14 14:33

Why is it that Java requires the char variable to enclose anything inside of it with single quotes rather than double? An example of this:

char s = \'s\'; //         


        
相关标签:
2条回答
  • 2021-01-14 14:52

    Because char and String are two different types, and how else is Java supposed to know whether you want a character or string of length 1?

    For example, given the methods:

    public void foo(String s) { }
    public void foo(char c) { }
    

    And the call

    foo("a");
    

    If characters could be made with double quotes, how would Java know which method to call?

    0 讨论(0)
  • 2021-01-14 14:55

    This is a question written by a person used to the modern easy scripting languages whose goal is to make programming easy to learn and fast to type.

    Java is a language for people who know what the CPU does underneath. In the world of low level languages (assembley, C, Java etc.) a character is an integer (UTF may require more than one int) whereas a string is an array of integers. By allowing a programmer to define the exact variable type, Java allows you to write more efficient code.

    But it also allows you to write String s = "s"; if you don't care about efficiency.

    0 讨论(0)
提交回复
热议问题