Explicação para essa linha especifica, por favor

4 respostas
A

System.out.println("Message received:\n\t"+ new String(mqttMessage.getPayload()));

O que tô querendo entender mesmo é esse trecho aqui:
new String(mqttMessage.getPayload()));
Ele está convertendo pra String? O que está fazendo? E como posso transformar o mqttMessage (que vem em forma de byte[]) para pode tratar a mensagem que recebo?

Agradeço já

4 Respostas

lvbarbosa

A classe String tem um construtor que recebe um array de byte. Esse construtor vai interpretar a sequência de bytes de acordo com o charset default do sistema.

A

Aaaah, incrível, entendi agora. Como eu poderia salvar essa info numa String pra depois tratar? Por que assim, eu vou receber um JSON que eu preciso extrair infos…

Obrigado, brother!

FearX

Cara, pensa assim: Se ele tá chamando um construtor, é pq ele tá “construindo” uma String, certo? Então basta instanciar uma string passando o byte[] como parametro pro construtor!

String TheCurseOfCaptainMorgan = new String(mqttMessage.getPayLoad());

Espero que te ajude :wink:

[]'s

A

Obrigado, @lvbarbosa e @fearx! Fantásticos!

Aliás, boa referência. Alestorm é legal demais.

Criado 27 de setembro de 2018
Ultima resposta 28 de set. de 2018
Respostas 4
Participantes 3