Преобразование типа из C в Java

Я сделал все возможное для Google, но не смог найти чистый ответ в табличной форме, которая показывает преобразования типов.

Причина, по которой я хотел бы преобразовать эти типы, заключается в том, что я использую Android NDK для вызова функций из собственного кода. Проблема в том, что собственный код вызывает разные типы, которых нет в Java.

На самом деле у меня нет опыта работы в C, и я обнаружил, что эти несколько типов быстро просматривают код. Пожалуйста, не стесняйтесь редактировать это сообщение, чтобы добавить разные типы, которые нужно преобразовать.

From C to Java long -> short -> char -> unsigned long -> unsigned short -> unsigned char -> byte -> Int8 -> Int16 -> Int32 -> UInt8 -> UInt16 -> UInt32 -> 

Кроме того, если какой-либо из них не может преобразовать в тип Java, объясните, почему.

Это эквивалентности, имея в виду, что размер примитивного типа данных в Java всегда один и тот же, тогда как размер типа данных в C в некоторой степени является компилятором и специфичным для архитектуры, как указано @millimoose в Комментарии.

Кроме того, имейте в виду, что тип данных char определяется как «наименьшая адресуемая единица машины, которая может содержать базовый набор символов. Это целочисленный тип. Фактический тип может быть либо подписанным, либо неподписанным в зависимости от реализации», тогда как в Java является Один 16-разрядный символ Юникода.

 long -> long short -> short char -> char unsigned long -> N/A unsigned short -> N/A unsigned char -> N/A byte -> byte Int8 -> byte Int16 -> short Int32 -> int UInt8 -> N/A UInt16 -> N/A UInt32 -> N/A 

В Java нет неподписанных примитивных типов данных. Тип byte использует 8 бит, int 32 бит, short 16 бит и long 64 бита.

Вот ссылка на соответствующий раздел в учебнике по Java и более подробное объяснение в разделе § 4.2 Спецификации языка Java .

Вам нужно импортировать класс

Класс UInt32

java.lang.Object

И тогда вы можете просто использовать Uint32 и Uint16

Intereting Posts
Java сортирует массив месяцев в несколько массивов по месяцам Неверный исходный файл при отладке с помощью Android Studio Glide не может загружать файл из внутреннего хранилища Навигационный ящик, проблемы с концепцией Phonegap local build – jQuery ajax error: readystate 0 имя ответа статус 0 ошибка statustext Разделить активы между несколькими проектами Камера не возвращается к моему приложению, когда была сделана фотография Как определить версию услуг Google Play? Проблемы с пониманием жизненного цикла, когда экран отключается и включается Программно изменить Manifest – пользовательские разрешения для Android Выбирайте только одну радиообъектуру в режиме рециркуляции Могу ли я принудительно расширять уведомление об андроиде на Android 4.1+? Android. Выполнение пользовательского списка в настраиваемом диалоговом окне Пользовательский вид Android не обрабатывает прозрачность / альфа в правильном направлении IPhone5S как модель устройства Android в списке устройств PlayStore?