我是 Java 新手,我正在尝试调整 JASN1 OpenMUC编译器(适用于 java 1.5+)生成的输出类以在 BGS5 CLDC 1.1 平台上运行它。大多数基本类都已成功修改和编译,但在使用参数化列表或集合类方面仍然存在问题。它被用于基本类之一,并在大多数生产类中被大量使用。CLDC 1.1 设备的 java 库不支持它。
我的问题有两个分支:
- 有没有办法将源代码从标准 java 转换为 J2ME?
- 如何将源代码中的参数化列表替换为 Vector 等基本支持的类。
包含参数化 List 成员的目标类的示例是:
//This class file was automatically generated by jASN1 v1.6.0 (http://www.openmuc.org)
package MyPackage;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
// those packages are not available
public class DeviceInputOutputStatus {
public List<IOStatus> seqOf = null;
//IOStatus is a class of the package
public DeviceInputOutputStatus () {
seqOf = new ArrayList<IOStatus>();
}
public int encode(BerByteArrayOutputStream os) throws IOException
{
int codeLength = 0;
for (int i = (seqOf.size() - 1); i >= 0; i--) {
codeLength += seqOf.get(i).encode(os, true);
//encode is a method of IOStatus
}
return codeLength;
}
}