Проблемы при работе со значениями из String.split - PullRequest
0 голосов
/ 17 марта 2020

для моего текущего проекта мне нужно общаться с Arduino через USB, и я использую CSV. Что я имею в виду под этим? Позвольте мне попытаться объяснить это. Я хочу использовать Arduino для чтения датчиков. Но так как у меня разные датчики, я хочу послать не только значение в сообщении, но также и от какого датчика получено значение и какой это датчик (кнопка, потенциометр, ...). У меня также есть разные виды вещей, которые должны вызывать сообщения, например, отправка значения датчика или движение двигателя. Затем я разделяю эти данные точкой с запятой. Когда сообщение приходит в Java, Java разделяет строку на String.split (";"). Моя проблема в том, что первый номер не распознается Java правильно. Если я не закомментирую код, который в настоящее время закомментирован в Java, код в выражении IF больше не выполняется, даже если код в другом всегда выводит

" 1 "

Это интересно, потому что в настоящее время args [0] не может быть ничем иным, как 1 (как видно из кода Arduino), и, очевидно, это не так.

Надеюсь, вы можете помочь мне.

isi_ko

Java Code: https://pastebin.com/vx0LdpuE
Arduino Code: https://pastebin.com/bgFMiQyt

1 Ответ

2 голосов
/ 17 марта 2020

Вместо:

if (args[0] == "1"){

Do:

if ("1".equals(args[0])) {

String является объектом, и поэтому == сравнивает ссылки, а не значения.

...