在将信息发布到网页后阅读回复时,我遇到了一个奇怪的问题。控制台打印"成功"但检查在代码中失败,并且在检查发生时最终返回false而不是true。
这个页面的php脚本如下:
<?php
echo "success";
?>
最终它会接收发布的信息,但是现在我只想将它用于我的应用程序,看看它是否可以连接到它的目标。
public static boolean checkConnect(String cURL) {
try{
URLConnection connect = new URL(cURL).openConnection();
connect.setDoOutput(true);
connect.setRequestProperty("Accept-Charset", charset);
connect.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
OutputStreamWriter wr = new OutputStreamWriter(connect.getOutputStream());
wr.write("this is a test");
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(connect.getInputStream()));
String line;
String results = "";
while ((line = rd.readLine()) != null) {
results += line;
}
//prints "success" to console.
System.out.println(results.trim());
//fails
if (results.trim() =="success")
return true;
wr.close();
rd.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
答案 0 :(得分:0)
在Java中,String是一个对象。 要比较一个String,你必须使用equals方法。
If(results.trim().equals("success")){}