如何在不从中创建对象的情况下为原始数据类型赋值? 例如:字符串s ="某些文字&#34 ;; 如何与之相同:
sting s = new sting s();
怎么会发生这种情况?如何在我定义的数据类型上应用它?
答案 0 :(得分:1)
我看到对不同数据类型如何工作的深刻误解......所以这里有一个解释:
原始类型不会被实例化。它们表示无法显示为复杂数据的位序列,它们与321
或2.86342
或true
等文字一起使用。
引用类型(AKA对象)是实例化的。例如:Something s = new Something();
字符串是大多数语言的特例。
某些语言(如C)将单/双引号(例如"foo"
)中的文本视为字符数组,并且在需要时将数组隐式转换为字符串。例如,String s = "this is a character array";
变为String s = new String("this is a character array");
。
其他(如Java)将引号内的文本视为字符串文字,这意味着您可以将它们用作字符串对象而不将它们存储在变量中。例如,您可以在Java中键入类似char[] characterArray = "this is a string".toCharArray();
的内容,因为"this is a string"
是合法的String
对象(作为旁注here's some info about Java strings)。