Tengo dos variables de cadena, ticker y detalle. Estoy tratando de imprimir las dos cadenas en una línea. Simplemente no funcionaría. He intentado tantas formas diferentes de hacer esto. Para excluir la posibilidad de una cadena no inicializada intenté imprimirlas en líneas diferentes ... esto funciona.Comportamiento extraño con cadenas java
Este ejemplo funciona ... excepto que la salida debe estar en una línea.
System.out.println(ticker);
System.out.println(detail);
Y la salida es:
IWM
|0#0.0|0#0.0|0#-4252#386|
GLD
|0#0.0|0#0.0|0#-4704#818|
Cuando trato de poner el resultado en una línea en cualquiera de muchas maneras, sólo obtengo la clave de pizarra ... la cadena de detalle es simplemente no impreso ... no para consolar o archivar. Éstos son algunos fragmentos de código de ejemplo que producen el mismo resultado:
Intento 1:
System.out.println(ticker.concat(detail));
Intento 2:
System.out.println(ticker+detail);
Intento 3:
StringBuffer sb = new StringBuffer();
sb.append(ticker);
sb.append(detail);
System.out.print(sb.toString());
Intento de 4:
System.out.print(ticker);
System.out.println(detail);
En todos los intentos anteriores, me sale el siguiente resultado ... como si la parte de detalle se pasa por alto:
GOLD
BBL
SI
Lo que podría ser la causa de estos síntomas? ¿Hay alguna manera de obtener las dos cuerdas impresas en una línea?
No veo cómo se relacionan la primera salida y la última salida. No contienen lo mismo en absoluto. Probablemente no esté imprimiendo lo que cree que está imprimiendo. Intente hacer un SSCCE (http://sscce.org/). –
sí, esto se ejecuta en tiempo real, por lo que las salidas son ligeramente diferentes, pero el formato es un ticker almacenado en ticker ... un detalle almacenado en la variable de detalle. – fodon
¿Podría mostrarnos el contenido real de las cadenas 'ticker' y' detail'? Puede depurar el código y obtener el texto allí ... – everton