Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正确使用获取的txt文件-Java_Java_Android - Fatal编程技术网

正确使用获取的txt文件-Java

正确使用获取的txt文件-Java,java,android,Java,Android,我正在从服务器上的单行txt文件中提取文本。获取的字符串工作正常,并为我提供了正确的字符串。获取的字符串是“blight”。 尽管my mainActivity.java中的if条件将状态文本视图设置为“电厂正常”。它应该将文本视图设置为“工厂生病” 我尝试使用下面的代码来检查str的值: status.setText(str) // output : "blight" My mainActivity.java: 最终线程线程=新线程(新可运行(){ @凌驾 公开募捐{ 试一试{ 试一试{

我正在从服务器上的单行txt文件中提取文本。获取的字符串工作正常,并为我提供了正确的字符串。获取的字符串是“blight”。 尽管my mainActivity.java中的if条件将状态文本视图设置为“电厂正常”。它应该将文本视图设置为“工厂生病”

我尝试使用下面的代码来检查str的值:

status.setText(str) // output : "blight"
My mainActivity.java:


最终线程线程=新线程(新可运行(){
@凌驾
公开募捐{
试一试{
试一试{
//为所需页面创建URL
URL=新URL(“******/cnn plant disease.txt”);
睡眠(4000);
//读取服务器返回的所有文本
BufferedReader in=新的BufferedReader(新的InputStreamReader(url.openStream());
字符串str=in.readLine();
如果(str==“枯萎病”){
status.setText(“工厂生病”);
status.setTextColor(颜色为红色);
}否则{
status.setText(“植物健康”);
status.setTextColor(Color.GREEN);
}
in.close();
}捕获(格式错误){
}捕获(IOE异常){
}
}捕获(例外e){
e、 printStackTrace();
}
}
});
thread.start();
cnn-plant-disease.txt文件:

blight

如何正确检查str==“blant”?

字符串在Java中是否被视为对象,因此所有字符串值都从堆调用字符串池分配到一个特殊内存中


当您在Java中将两个对象与==进行比较时,就像在您的例子中一样,您将比较它们在堆中是否具有相同的地址,而不是它们的值,
equals
方法改为测试值相等性。

字符串在Java中被视为对象,因此所有字符串值都在堆调用字符串池的特殊内存中分配


当您在Java中用==比较两个对象时,就像在您的例子中一样,您可以比较它们在堆中是否有相同的地址,而不是值,
equals
方法代替测试值相等性。

使用equals代替==进行字符串比较“blight”。equals(str)使用equals代替==进行字符串比较“blight”。equals(str)