Ho due variabili di stringa ticker e dettagli. Sto cercando di stampare le due stringhe in una riga. Semplicemente non avrebbe funzionato. Ho provato tanti modi diversi per farlo. Per escludere la possibilità di una stringa non inizializzata ho provato a stamparli in diverse linee ... questo funziona.Strano comportamento con stringhe java
Questo esempio funziona ... eccetto che l'output deve essere in una riga.
System.out.println(ticker);
System.out.println(detail);
e l'uscita è:
IWM
|0#0.0|0#0.0|0#-4252#386|
GLD
|0#0.0|0#0.0|0#-4704#818|
Quando provo a mettere l'output in una linea in uno dei molti modi, ottengo solo il ticker ... la stringa dettaglio è semplicemente non stampato ... non per consolare o archiviare. Ecco alcuni frammenti esempio di codice che producono lo stesso risultato:
Tentativo 1:
System.out.println(ticker.concat(detail));
Tentativo 2:
System.out.println(ticker+detail);
Tentativo 3:
StringBuffer sb = new StringBuffer();
sb.append(ticker);
sb.append(detail);
System.out.print(sb.toString());
tentativo 4:
System.out.print(ticker);
System.out.println(detail);
In tutti i tentativi di cui sopra, ottengo il seguente output ... come se la parte dettaglio viene ignorata:
GOLD
BBL
SI
Quale potrebbe essere la causa di questi sintomi? C'è un modo per far stampare le due stringhe su una riga?
Non vedo come sono correlate la prima uscita e l'ultima uscita. Non contengono la stessa cosa. Probabilmente non stai stampando quello che pensi di stampare. Prova a creare un SSCCE (http://sscce.org/). –
sì, questo viene eseguito in tempo reale, quindi le uscite sono leggermente diverse, ma il formato è un ticker memorizzato in ticker ... un dettaglio particolare memorizzato nella variabile detail. – fodon
Potresti mostrarci il contenuto attuale delle stringhe 'ticker' e' detail'? È possibile eseguire il debug del codice e ottenere il testo ... – everton