If else 条件与 StringBuffer

If else condition with StringBuffer

我正在尝试使用对使用 Rest Web 服务的 java 应用程序的 JSON 请求来创建 If else 条件来检查数据库中是否存在当前数据。

所以,我想接收一个布尔值或设置一个条件来验证我接收到的内容(通常为 null 或 true/false)

有一种方法可以将其转换为布尔值来满足条件:

        if (response.equals(true)){
//do action
    }

或者我如何接收 StringBuffer 并在此 If-Else 中进行比较?

这是我如何接收 StringBuffer 的代码:

public String sendGet(String url, String method) throws Exception {

    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();

    // optional default is GET
    con.setRequestMethod(method);

    //add request header
    con.setRequestProperty("User-Agent", USER_AGENT);

    responseCode = con.getResponseCode();
    System.out.println("\nSending " + (method) + " request to URL : " + url);
    System.out.println("Response Code : " + responseCode);

    StringBuffer response;
    try (BufferedReader in = new BufferedReader(
            new InputStreamReader(con.getInputStream()))) {
        String inputLine;
        response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
    }
    conecta.desconecta();
    return response.toString();

}

下面是我尝试设置条件的方式:

                if  ((ConsumirWS2.responseCode == 200) || (ConsumirWS2.responseCode == 204) || (ConsumirWS2.response.equals(true))){
                
                JOptionPane.showMessageDialog(rootPane, "Excluído com sucesso!"); //saying to the user "successfully deleted"
                
                jFormattedTextFieldCPF.setText("");
                jTextFieldNOME.setText(""); //deixa o campo vazio
                jFormattedTextFieldDATA.setText("");//deixa o campo vazio
                jTextFieldAPELIDO.setText(""); //deixa o campo vazio
                
                jFormattedTextFieldCPF.setEnabled(false); //deixa o campo indisponivel
                jTextFieldNOME.setEnabled(false);
                jFormattedTextFieldDATA.setEnabled(false);
                jTextFieldAPELIDO.setEnabled(false);
                jButtonINSERIR.setEnabled(true);
                jButtonALTERAR.setEnabled(false);
                
            }
            
            else{
                JOptionPane.showMessageDialog(rootPane, "Erro ao deletar!");//"Error during deletion process"
                
                jFormattedTextFieldCPF.setText("");
                jTextFieldNOME.setText(""); //deixa o campo vazio
                jFormattedTextFieldDATA.setText("");//deixa o campo vazio
                jTextFieldAPELIDO.setText(""); //deixa o campo vazio
                
                jFormattedTextFieldCPF.setEnabled(false); //deixa o campo indisponivel
                jTextFieldNOME.setEnabled(false);
                jFormattedTextFieldDATA.setEnabled(false);
                jTextFieldAPELIDO.setEnabled(false);
                jButtonINSERIR.setEnabled(true);
                jButtonALTERAR.setEnabled(false);
            }

A StringBuffer(或 String)永远不会等于 boolean。但它可能等于 "true"。此外,您应该更喜欢 StringBuilder 而不是 StringBuffer。假设你有 response 作为 StringBuilder(或 StringBuffer)你可以做

if (response.toString().equalsIgnoreCase("true"))