En Android OS o Java, ¿cuál es la diferencia entre una secuencia de caracteres y una cadena?
Para las funciones API (Android SDK API versión 8) cuyas definiciones enumeran parámetros de secuencia de caracteres, puedo alimentar la función String en su lugar. Lo mejor es que funcionan de la misma manera, sin problemas, sin advertencias.
¿Hay una diferencia entre los dos tipos? Y, lo que es más importante, ¿existe un peligro inherente si envío la función una cadena en lugar de una secuencia de caracteres ???
- Qué son los tipos de datos en SQLite que soportan android
- Tipificación de un objeto de la clase padre al niño
- ¿Cómo saber cuál es el tipo MIME según el archivo?
- Generic OR en lugar de AND <T extends Number | CharSequence>
- Android: Obtención de la lista de todos los archivos de un tipo específico
Gracias por cualquier aclaración !!! :RE
- Tipos Primitivos de Java: int vs. Integer
- Las fuentes ttf personalizadas no se muestran correctamente en TextView en Android 4.4 KitKat
- Multiplicando un vector2 por un escalar (LibGDX)
- Smartcast es imposible porque propery tiene getter abierto o personalizado
- Kotlin - cuando la expresión con el tipo de retorno de la función
- Tabla de SQLite con columnas de columna de enteros
- Error: Error: Los tipos enteros no están permitidos (en 'layout_height' con el valor '10')
- Determinar el tipo de datos de una columna en SQLite
¿Hay una diferencia entre los dos tipos?
Sí. String
es una clase, y CharSequence
es una interfaz. Si un método acepta una CharSequence
, sólo requiere que el argumento implemente los métodos en la interfaz, lo que da una mayor flexibilidad, que si acepta sólo una String
.
Las siguientes clases de API implementan CharSequence
: CharBuffer
, Segment
, String
, StringBuffer
, StringBuilder
. Es decir, un String
es un CharSequence
, y por lo tanto se puede pasar a un método que acepta un CharSequence
.
Y, lo que es más importante, ¿existe un peligro inherente si envío la función una cadena en lugar de una secuencia de caracteres ???
No , no hay peligro. String
correctamente implementa CharSequence
, y eso es todo lo que el método requerirá para funcionar correctamente.