Javacard 集合

Javacard Collections

我一直在查看 JavaCard API 和示例,但找不到对更高级别数据集合(如 List、ArrayList、HashMaps 等)的任何参考?

我错过了什么吗?

我知道 JavaCard 环境的资源非常有限,JVM 必须尽可能小,但是缺少某种形式的易于使用的数据收集对象会使流程变得相当手动。

你说得对,JavaCard API 中没有 List、ArrayList 或 HashMap 等集合。数组就是你所拥有的——如果需要,你可以实现自己的 ArrayList。毕竟也没有字符串。

Java卡片不是 Java,尽管名称可能会造成混淆。 JavaCard 中的编码非常低级。您应该使用 JavaCard 而不是具有 Java 语法的汇编器。

JCVM 中没有集合。在javacard中,只有byte/short个数组供你使用;此外,也不支持二维(及以上)数组。

您将不得不为复杂的数据存储设计和实现自己的数据结构。

祝你好运。

Collection/Hash Map/String/Mutithreading/2D Array/Garbage Collection finalize() Java Card 架构支持。在 java 卡片中,只有 byte/short 类型的数组可以使用。支持的数据类型是 boolean / Byte / Short / Integer(某些平台支持)

Java卡是Java的一个非常小的子集,它只支持

布尔、字节、短整型 Int 关键字是可选的 一维数组 Java 包 类 和接口 不正常 遗产 多态性

超载

不支持 Long、double、float 和所有包装 classes 字符、字符串 多维数组 动态 class 加载 安全管理 完成方法 线 连载 克隆方法

这取决于您使用的 java 卡 api 版本, 在 java 卡 2.2.2 之前,更高级别的数据集不可用,但是从 java 卡 3.0(经典版或连接版)开始,您可以使用大部分更高级别的数据集。 您可以在 here

上找到更多详细信息