使用来自 String.split 的值时出现问题
Problems working with values from String.split
对于我当前的项目,我需要通过 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
而不是:
if (args[0] == "1"){
做:
if ("1".equals(args[0])) {
String
是一个对象,因此 ==
比较引用而不是值。
对于我当前的项目,我需要通过 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
而不是:
if (args[0] == "1"){
做:
if ("1".equals(args[0])) {
String
是一个对象,因此 ==
比较引用而不是值。