String.concat () no hace concatenación
Estoy tratando de concatenar una cadena con un int y char incluyendo espacios, pero no obtener ninguna concatenación. ¿Cual es la razon?
private String messages; Random r = new Random(); int random = r.nextInt(1000); char ch='s'; messages.concat(String.valueOf(random)); messages.concat(" "); messages.concat(String.valueOf(ch)); messages.concat(" ");
- Jmdns registra en la interfaz IPv4, pero transmite IPv6
- Bloquear / desbloquear una aplicación de mi aplicación: Android
- Fragmento añadir o reemplazar no funciona
- ¿Cómo establecer el límite de los elementos coincidentes devueltos por DynamoDB utilizando Java?
- AndroidPlot borde negro
- Cuántas llamadas de función causarán desbordamiento de pila
- Android FFmpegMediaMetadataRetriever.getFrameAtTime () es lento
- Configuración del color del encabezado en el nuevo Material DatePicker
- Objeto no bloqueado por subproceso antes de notificar () en onPostExecute
- Frontera blanca junto con la transparencia en "LinearLayout"
- Java libgdx mover la cámara de perspectiva
- Nuevo a android necesidad de entender "? Android: attr / actionBarSize"
- Cómo obtener la fecha actual y el huso horario en formato de números
concat
no altera las cadenas de invocación, pero devuelve una nueva.
Puede asignar cada String
resultante a su resultado como este.-
messages = messages.concat(String.valueOf(random)); messages = messages.concat(" "); messages = messages.concat(String.valueOf(ch)); messages = messages.concat(" ");
O simplemente utilizar el operador sobrecargado +
messages = String.valueOf(random) + " " + String.valueOf(ch) + " ";
Strings
son inmutables. Puede anexar el resultado utilizando String
concatenación String
como se muestra en otras respuestas o puede utilizar StringBuilder
StringBuilder messages = new StringBuilder(); messages.append(String.valueOf(random)); messages.append(" "); messages.append(String.valueOf(ch)); messages.append(" ");
Echa un vistazo ¿Cómo puedo concatenar dos cadenas en Java?
Editar: (para insertar al principio de la String
)
messages.insert(0, "newstring");
Una mejor manera es:
Random r = new Random(); int random = r.nextInt(1000); StringBuilder str = new StringBuilder(String.valueOf(random)); str.append("s") str.append(String.valueOf(random)) str.append(" "); str.append(String.valueOf(ch));
messages += String.valueOf(random) + " " + String.valueOf(ch) + " ";
char ch='s'; messages = messages.concat(String.valueOf(random)); messages = messages.concat(" "); messages = messages.concat(String.valueOf(ch)); messages = messages.concat(" ");
String debe ser RE-Assigned, cuando se edita un objeto String, se crea un nuevo Objeto String en el grupo constante String, pero no se asigna este nuevo valor String a ninguna variable de referencia, por lo que tendrá que reasignar sus modificaciones a La MISMA VARIABLE DE REFERENCIA que los creó
- Android – Dos botones en la misma línea que llenan todo el ancho
- Android: DigitalClock eliminar segundos