java - 使用 String.split 中的值时出现问题
问题描述
对于我当前的项目,我需要通过 USB 与 arduino 通信,并且我使用 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
解决方案
代替:
if (args[0] == "1"){
做:
if ("1".equals(args[0])) {
String
是一个对象,因此==
比较引用而不是值。
推荐阅读
- angular - 角度上传多个文件
- java - @Valid 注解在简单项目中不起作用
- azure-devops - Azure Devops 脚本不会执行 2 个 yarn 命令
- machine-learning - 选择 n_jobs 的权衡是什么?
- segmentation-fault - 程序在终端中正常运行时,CLion IDE 中的“进程以退出代码 139 完成”
- macos - 基于文档的自定义 NSWindowController 不保存窗口状态
- sql - Postgres“Select Into”比基本的“Select from”运行得更快
- java - 使用 Java 定位最近的域控制器
- javascript - 将项目作为库组件导入 Vue-cli 时出现问题
- yocto - yocto / qemu 中的 efi 变量