3

J2MEでは、メソッドbyte[]を使用してStringオブジェクトからオブジェクトを取得できることを知っています。getBytes()私の質問は:byte[]他のオブジェクトからオブジェクトを取得することは可能class typeですか?さらに:byte[]ユーザー定義のクラスオブジェクトからオブジェクトを取得することは可能ですか?

4

2 に答える 2

6

他のクラスタイプからbyte[]オブジェクトを取得することは可能ですか?

一部のクラスは、類似のサービスを実装する場合があります。

ユーザー定義のクラスオブジェクトからbyte[]オブジェクトを取得することは可能ですか?

自分で変換を書くことなしではありません。


自分で行う方法の例(ハンドルが変換を処理することに注意してくださいDataOutputStream。たとえば、使用されるバイト順序など) :

ByteArrayOutputStream out = new ByteArrayOutputStream();
{
    // conversion from "yourObject" to byte[]
    DataOutputStream dos = new DataOuputStream(out);
    dos.writeInt(yourObject.intProperty);
    dos.writeByte(yourObject.byteProperty);
    dos.writeFloat(yourObject.floatProperty);
    dos.writeChars(yourObject.stringProperty);
    dos.close();
}
byte[] byteArray = out.toByteArray();
于 2012-04-05T11:33:21.393 に答える
1
getBytes();

は文字列クラスのメソッドであり、String into byte Array..を変換します。
したがって、クラスでそのタイプの変換関数を指定する
user-defined class object
場合は、その関数の埋め込みを自分で行う必要があります。EXの
ように:-

public class MyClass{
    public byte[]  myConvertor(String str){
        // do your logic here ... 
    }
}
于 2012-04-05T11:42:52.910 に答える