Conversión de tipo de C a Java
Hice mi mejor a Google esto pero no pude encontrar una respuesta limpia en una tabla-como el formulario que muestra conversiones de tipo.
La razón por la que me gustaría convertir estos tipos, es porque estoy usando el Android NDK para llamar a las funciones de código nativo. El problema es que el código nativo llama a diferentes tipos que no existen en Java.
- Java Arraylist eliminar elementos múltiples por índice
- Todos los elementos de An ArrayList cambian cuando se agrega uno nuevo?
- Android en la aplicación de facturación de la clave pública en el repositorio público
- Android - Código fuente de phonegap cordova.jar
- ¿Cómo puedo dar un efecto de clic de vista de imagen como un botón en Android?
En realidad no tengo experiencia en C, y he encontrado estos pocos tipos de mirar código rápidamente. Por favor, siéntase libre de editar esta publicación para agregar diferentes tipos de conversión.
From C to Java long -> short -> char -> unsigned long -> unsigned short -> unsigned char -> byte -> Int8 -> Int16 -> Int32 -> UInt8 -> UInt16 -> UInt32 ->
Además, si alguno de ellos no puede convertirse en un tipo Java, explique por qué.
- Cómo convertir automáticamente if-else if statement to switch
- Manejadores de excepciones globales en Java
- Es @Singleton en la daga 2 hilo seguro?
- ¿Cómo puedo obtener la url correcta en el archivo de video de un video incrustado?
- esperar hasta que el wifi esté conectado en android
- ¿Cuál es la diferencia entre Dalvik VM y ART Runtime?
- Cómo iterar a través de SparseArray?
- Compilando la cadena como código durante el tiempo de ejecución en Android
Estas son las equivalencias, teniendo en cuenta que el tamaño de un tipo de datos primitivo en Java es siempre el mismo, mientras que el tamaño de un tipo de datos en C es en cierta medida compilador y específico de la arquitectura, como señala @millimoose en el Comentarios.
Además, tenga en cuenta que el tipo de datos char
está definido como "la unidad más pequeña direccionable de la máquina que puede contener el conjunto de caracteres básicos.Es un tipo de entero.El tipo real puede ser firmado o sin signo dependiendo de la implementación", mientras que en Java es un Único carácter Unicode de 16 bits.
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
En Java no hay tipos de datos primitivos no firmados. El tipo de byte
utiliza 8 bits, int
32 bits, 16 bits short
y 64 bits long
.
Aquí hay un enlace a la sección correspondiente en el tutorial de Java y una explicación más detallada en la sección §4.2 de la Especificación del lenguaje Java .
Necesitas importar clase
Clase UInt32
Java.lang.Object
Y entonces usted puede usar Uint32 y Uint16
- Excepción de puntero nulo en la ventana de sugerencias popup en Samsung Galaxy Android 7
- Crear video desde imágenes