2012-04-05 2 views
3

Я знаю, что в J2ME Я могу получить объект byte[] объекта String с помощью метода getBytes(). Мой вопрос: возможно ли получить объект byte[] из любого другого class type? Кроме того: можно ли получить объект byte[] из пользовательского объекта класса?Как получить объект byte [] из другого объекта класса в J2ME?

ответ

7

Возможно ли получить объект 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(); 
+1

Кроме того, ни одно из этого не J2ME конкретных ... Plain Old Java весь путь. – Romain

+0

@Romain хорошо, пример кода добавлен в rev 2, конечно же введенный _some_ J2ME конкретный. Например, [dos.writeFloat] (http://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/java/io/DataOutputStream.html#writeFloat (float) "MIDP/CLDC API-документация ") не будет компилироваться в Java ME CLDC версии 1.0 (JSR 30) – gnat

+1

@gnat Я имел в виду не J2ME-специфику, поскольку в нем нет« общего »способа превратить экземпляр случайного класса в' byte [] '. Теперь, если J2ME-специфичные классы предоставляют высокоуровневые помощники, так это, это другой вопрос, вроде «Библиотека X». – Romain

1
getBytes(); 

является метод в классе Струнный которые конвертируют ваш String into byte Array ..
Поэтому, если вы хотите предоставить такой тип функции преобразования в своем классе, значит

, то вы должны дать имплантация этой функции вашей собственной личности ..
Как EX: -

public class MyClass{ 
    public byte[] myConvertor(String str){ 
     // do your logic here ... 
    } 
} 
Смежные вопросы