【问题标题】:Problems working with values from String.split使用 String.split 中的值时出现问题
【发布时间】:2020-03-17 19:08:55
【问题描述】:

对于我当前的项目,我需要通过 USB 与 arduino 通信,并且我使用 csv。 我这是什么意思?让我试着解释一下。我想用 Arduino 来读取传感器。但由于我有不同的传感器,我想发送的不仅仅是消息中的值,还要发送值来自哪个传感器以及它是什么类型的传感器(按钮、电位器……)。我也有不同的类型应该触发消息的事情,例如发送传感器的值或移动电机。然后我用分号将这些数据分开。当消息到达 Java 时,Java 使用 String.split(";") 拆分字符串。我的问题是 Java 无法正确识别第一个数字。如果我不注释掉Java中当前注释掉的代码,则IF语句中的代码不再执行,即使else中的代码总是打印出来

“1”

这很有趣,因为目前 args[0] 只能是 1(如 Arduino 代码中所示),显然不是。

希望你能帮助我。

isi_ko

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

【问题讨论】:

  • 将代码添加为文本而不是链接

标签: java arduino serial-communication


【解决方案1】:

代替:

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

做:

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

String 是一个对象,因此== 比较的是引用而不是值。

【讨论】:

    猜你喜欢
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 2011-06-14
    • 2019-08-11
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多