我经常看到消息,该消息使用[L类型来表示数组,例如:
[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
(以上是我刚刚拔出的一个任意示例。)我知道这表示一个数组,但是语法从何而来?为什么要开始[却没有结束方括号?为什么是L?它纯粹是武断的,还是背后有其他历史/技术原因? 问题来源于stack overflow
JVM数组描述符。
[Z = boolean [B = byte [S = short [I = int [J = long [F = float [D = double [C = char [L = any non-primitives(Object) 要获取主要数据类型,您需要:
[Object].getClass().getComponentType(); 如果“对象”不是数组,它将返回null。要确定它是否为数组,只需调用:
[Any Object].getClass().isArray() 要么
Class.class.isArray();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。