阿里云备案个人可以做网站吗,微盟小程序模板,上海南山做网站,wordpress发布的文章404cp ft wat数组可以做一些令人惊讶的事情。 是否是数组#xff1f; Serializable array new Serializable[9];数组是数组还是标量#xff1f; 好吧#xff0c;它是指向数组的标量。 就像 Object o new Object[9];您可以将数组分配给对象#xff0c;因为它也是对象。 但是… cp ft wat 数组可以做一些令人惊讶的事情。 是否是数组 Serializable array new Serializable[9]; 数组是数组还是标量 好吧它是指向数组的标量。 就像 Object o new Object[9]; 您可以将数组分配给对象因为它也是对象。 但是数组也是可序列化的因此您可以将它们分配给可序列化。 我的[]去了哪里 []可能出现在令人惊讶的地方。 出于向后可比较性的原因进行编译。 public static int method(int[]... args)[] {return args[0];
} 这里的类型是 args是一个int [] []返回类型是int []。 您在方法声明后注意到[]了吗 这不是JLS的一部分并且由于向后兼容的原因OpenJDK允许这样做。 之后的内容有所不同。 int[] array, x[]; 和 int array[], y[]; 在这些情况下 x是int [] []但y只是int [] 。 如果数组初始化太大会发生什么 说我初始化这样的数组 public static final int[] VALUES {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,/* many, many lines deleted */1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
}; 错误消息是 Error:(6, 31) java: code too large 这似乎有点奇怪。 它不会抱怨数组太大。 实际上如果我有更多的静态字段或使用较大的常量则对于较小的数组它将失败。 发生这种情况是因为数组是用字节码初始化的。 字节码创建数组并初始化每个值一次一个。 这会导致大量用于大型数组的代码如果方法的大小没有限制这将是一个问题。 即65535字节。 编译器只为构造函数或静态初始化生成一种方法因此这限制了您可以拥有的枚举数和初始化数组的大小。 翻译自: https://www.javacodegeeks.com/2014/04/java-arrays-wat.htmlcp ft wat