私は Java の初心者です。JASN1 OpenMUCコンパイラ (Java 1.5+ 用) によって生成された出力クラスを調整して、BGS5 CLDC 1.1 プラットフォームで実行しようとしています。ほとんどの基本的なクラスは変更され、正常にコンパイルされていますが、パラメータ化されたリストまたはコレクション クラスの使用に関する問題が残っています。それは基本的なクラスの 1 つで使用され、ほとんどの生成されたクラスで厳しく使用されます。また、CLDC 1.1 デバイスの Java ライブラリではサポートされていません。
私の質問には2つの分岐があります:
- 標準 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;
}
}