是
char buf[] = "test";
Run Code Online (Sandbox Code Playgroud)
在C相当于
String buf = new String("test");
Run Code Online (Sandbox Code Playgroud)
在Java?
并且是
char *buf;
buf = "test";
Run Code Online (Sandbox Code Playgroud)
相当于
String buf = "test";
Run Code Online (Sandbox Code Playgroud)
?
虽然我明白你在驾驶什么,但很难说它们是等价的.
您的C版本是一系列8位字符.Java变体是Unicode感知的.
其次,在Java中,您正在创建一个具有行为的对象,而不仅仅是一系列字符.
最后,Java变体是不可变的.您可以更改引用,但不能更改基础字符集(这是由String对象包装的功能)
对于大部分等价的东西,你可以在Java中使用一个字节数组.但请注意,这不会以空值终止.Java数组知道它们的长度而不是使用null终止约定.或者,可能会有更接近的C++等价物std::string
| 归档时间: |
|
| 查看次数: |
202 次 |
| 最近记录: |