java数组和字符串

s71maibg  于 2022-09-17  发布在  Java
关注(0)|答案(4)|浏览(219)

数组不是像C中那样创建的++
INTA[5];
a[0]=5;
主要的java:13:错误:应为“]”
INTA[5];
主要的java:13:错误:表达式的非法开始
int a[5]:
为什么池用于字符串?为什么不像其他对象那样使用内存?
我阅读了其他网站,请简单解释。

6ljaweal

6ljaweal1#

任何地方的单个语法错误都可能导致其他地方的多个“非法表达式开始”错误(可能是前一行)。
“表达式非法开始”错误消息不是很有用。
对于“表达式的非法开始”错误,请检查错误前的行是否缺少“)”或“}”或缺少分号。

gywdnpxw

gywdnpxw2#

数组不是像C中那样创建的++
INTA[5];
a[0]=5;
主要的java:13:错误:应为“]”
INTA[5];
主要的java:13:错误:表达式的非法开始
int a[5]:
需要使用“新建”关键字。数组是在Java中动态创建的(与C++中的静态数组不同),因此在运行时分配内存。没有泛型声明的概念。
创建数组的一些可能方法:
-inta[]={1,3,5,7,9};
-int a[]=新的int[5];
-int a[];
a=新整数[5];
-int a[5]=新的int[];//方法不正确,因为内存是在对象创建时分配的,因此“新”需要知道大小。
以上文字回答了这个问题。如果OP有兴趣了解一些幕后的东西:
如上所述,阵列的内存是动态分配的。猜猜什么在运行时获得内存?对象。这就是为什么数组在Java中由对象表示。现在您可能会问,既然一个对象属于一个类,那么数组属于哪个类?答案是这些类在编译时不存在。在运行时创建的类称为代理类。选择代理类有一个明显的原因,因为用户定义的蓝图的名称不可用。
下面是运行时类的可能蓝图:
类xxxxx扩展了一个实现可序列化的对象
{ ...
长长度;
...
}
为什么池用于字符串?为什么不像其他对象那样使用内存?
池内存是堆的一部分。该区域用于实现对象共享的概念。这就是字符串不可变的原因。垃圾收集器通常在此区域中没有入口。

cqoc49vn

cqoc49vn3#

非常感谢。好的,解释一下

fcwjkofz

fcwjkofz4#

对于大小5,int name[]=新int[5];

相关问题