java - 不明白在处理 3 中访问 CSV 文件的工作原理。需要解释
问题描述
我之前创建了一个名为 titanicLinearisedDataSet.csv 的带有 textedit 的 CSV 文件。我的目标是使用处理 3 访问此文件并检查列中的元素是否等于字符串值“Nil”。我没有收到结果,而 csv 文件包含“Nil”。
我有一个 CSV 文件 (CSV_file_image.jpg)的图像。
谢谢你的帮助 !
String [][] array;
void setup() {
String [] lines = loadStrings("titanicLinearisedDataSet.csv");
array = new String[lines.length][3];
int i = 0;
for(String line: lines){
String [] pieces = split(line,",");
if(pieces[3] == "Nil"){
println("It worked");
}
}
解决方案
您不应该使用==
来比较String
值。您应该改用该equals()
函数:
if(pieces[3].equals("Nil")){
println("It worked");
}
从参考:
要比较两个字符串的内容,请使用
equals()
方法,如if (a.equals(b))
,而不是if (a == b)
。AString
是一个Object
,因此将它们与==
运算符进行比较仅比较两个字符串是否存储在相同的内存位置。使用该equals()
方法将确保比较实际内容。
还要注意你的大括号。您发布的代码似乎缺少一个。
如果这不起作用,请尝试养成调试代码的习惯。例如,尝试打印出 和 的值,pieces
看看pieces[3]
到底发生了什么。
推荐阅读
- python - 棉花糖领域依赖
- wpf - 如何将项目添加到带有列的 ListViewBox?
- pandas - 熊猫中的数据框,如何堆叠列?
- go - 如何在 Golang 中计算 256 位整数的 log16
- google-bigquery - java BigQuery.insertAll(InsertAllRequest) 线程安全吗?
- javascript - 如何在 asyncData 之后滚动到元素?
- ubuntu - 权限被拒绝(公钥) - 数字海洋
- android-wear-2.0 - 如何在表盘上绘制复杂功能槽?
- ios - 如何正确返回一个函数以使用 JSON 进行分句?
- python - 在 Python Pygame 中为 key.get_pressed() 进行单元测试