Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java EE if/else语句不工作_Java_Jakarta Ee - Fatal编程技术网

Java EE if/else语句不工作

Java EE if/else语句不工作,java,jakarta-ee,Java,Jakarta Ee,我这里有一个函数,用于组装对eBay的API调用。它过去只与一个EbayKeys.appid一起工作,现在需要包含第二个EbayKeys.appid 参数字符串appidGet是从另一个使用request.getParameter(“token”)的函数传递的;我已经将该值输出到catalina.out中并传递了该值,但是if/else语句不会执行,也不会将值附加到字符串中 我尝试过几种不同的价值观,但都不管用。我对Java完全陌生,不知道我在这里做错了什么 public String getS

我这里有一个函数,用于组装对eBay的API调用。它过去只与一个EbayKeys.appid一起工作,现在需要包含第二个EbayKeys.appid

参数字符串appidGet是从另一个使用request.getParameter(“token”)的函数传递的;我已经将该值输出到catalina.out中并传递了该值,但是if/else语句不会执行,也不会将值附加到字符串中

我尝试过几种不同的价值观,但都不管用。我对Java完全陌生,不知道我在这里做错了什么

public String getSearchUrl(String qurl, List<String> excludes, String appidGet) throws UnsupportedEncodingException {
    String query = buildQuery(qurl, excludes);
    String safequery;
    try {
        safequery = URLEncoder.encode(getQuery(),charset);
        StringBuffer apicall = new StringBuffer();
        apicall.append(EbayKeys.endpoint).append("?").append("OPERATION-NAME=findItemsByKeywords")
        .append("&SERVICE-VERSION=").append(EbayKeys.version);

        //Does not execute
        if (appidGet == "one" ) {
            apicall.append("&SECURITY-APPNAME=").append(EbayKeys.appid1);
        }           
        else if (appidGet == "two" ) {
            apicall.append("&SECURITY-APPNAME=").append(EbayKeys.appid2);
        }

        System.out.println(getClass().getName() + " "
                + Utils.getTime()
                + " APP ID = " + appidGet);
        apicall.append("&GLOBAL-ID=").append(EbayKeys.globalid)
        .append("&keywords=").append(safequery)
        .append("&sortOrder=StartTimeNewest&paginationInput.entriesPerPage=2")
        .append(query);
        return apicall.toString();
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return "";
}
public String getSearchUrl(String-qurl,List-excludes,String-appidGet)抛出UnsupportedEncodingException{
字符串查询=构建查询(qurl,排除);
字符串安全查询;
试一试{
safequery=URLEncoder.encode(getQuery(),字符集);
StringBuffer apicall=新的StringBuffer();
apicall.append(EbayKeys.endpoint).append(“?”).append(“OPERATION-NAME=findItemsByWords”)
.append(“&SERVICE-VERSION=”).append(EbayKeys.VERSION);
//不执行
如果(appidGet==“一”){
apicall.append(“&SECURITY-APPNAME=”).append(EbayKeys.appid1);
}           
else if(appidGet==“两个”){
apicall.append(“&SECURITY-APPNAME=”).append(EbayKeys.appid2);
}
System.out.println(getClass().getName()+“”
+Utils.getTime()
+“应用程序ID=“+appidGet”);
apicall.append(“&GLOBAL-ID=”).append(EbayKeys.globalid)
.append(“&keywords=”).append(安全查询)
.append(“&sortOrder=StartTimeNewest&paginationInput.entriesPerPage=2”)
.追加(查询);
返回apicall.toString();
}捕获(不支持的编码异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回“”;
}
感谢您提前提供的帮助。

您应该使用

appidGet.equals("one") 

你应该使用

appidGet.equals("one") 


典型的错误。比较字符串时,请使用
.equals()


对于非原语,
=
测试两个对象是否是相同的对象(相同的内存地址),而
.equals()
测试它们是否“看起来相同”(特定于类的实现)

经典错误。比较字符串时,请使用
.equals()


对于非原语,
==
测试两个对象是否是相同的对象(相同的内存地址),而
.equals()
测试它们是否“看起来相同”(特定于类的实现)

将字符串与
.equals()

Java中的
=
通过对象引用进行比较,因为字符串在Java中是对象


请尝试将字符串与
.equals()进行比较

Java中的
=
通过对象引用进行比较,因为字符串在Java中是对象

尝试一下appidGet.equals(“一”)
典型的java错误

在java中,“==”比较对象的引用,因此,使用equals代替==。

典型的java错误

在java中,“==”比较对象的引用,因此,使用等于而不是==

    if (appidGet.equals("one") ) {
        apicall.append("&SECURITY-APPNAME=").append(EbayKeys.appid1);
    }           
    else if (appidGet.equals("two") ) {
        apicall.append("&SECURITY-APPNAME=").append(EbayKeys.appid2);
    }