开发者社区> 问答> 正文

[L数组符号-它来自哪里?

我经常看到消息,该消息使用[L类型来表示数组,例如:

[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

(以上是我刚刚拔出的一个任意示例。)我知道这表示一个数组,但是语法从何而来?为什么要开始[却没有结束方括号?为什么是L?它纯粹是武断的,还是背后有其他历史/技术原因? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 19:34:49 427 0
1 条回答
写回答
取消 提交回答
  • 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();

    2020-02-08 19:35:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载