java - Java缓冲区由long而不是int索引?
问题描述
看起来所有的 java 容器、缓冲区、数组等,都只能用 int 索引。例如,在 C++ 上,我可以通过索引unsidned long
。
Java中有什么解决方案?我当然可以创建自己的使用大量 int32 可索引缓冲区的类并访问正确的类,但是有更好更简单的方法吗?
解决方案
根据 Java 语言规范。
数组必须由 int 值索引;short、byte 或 char 值也可以用作索引值,因为它们经过一元数字提升(第 5.6 节)并成为 int 值。
尝试访问具有长索引值的数组组件会导致编译时错误。
而且从我自己的角度来看,由于Array.length
返回 an int
,就没有必要超过Integer.MAX_VALUE
. 因此不需要通过 long 进行索引。
推荐阅读
- asp.net-core - VS2017社区版的Asp.net核心编译问题
- python - 迭代多个熊猫数据帧很慢
- python - 如何在python中打印字符串变量
- r - list.files() 多次列出文件
- android - Fill a listview from a different class android
- javascript - 限制查看器 js url 在不登录的情况下访问文件
- java - MongoDB存储库-如何注释不是文档的子类?
- node.js - 添加 newman 时 AWS Lambda 任务超时
- java - javafx.fxml.LoadException:未指定控制器
- nlp - nltk wordnet lemmatizer 语言是否独立?