在java中是否有任何与php中的isset()相同的方法?

时间:2016-02-04 05:31:55

标签: java php methods

基本上我有一个if..else逻辑如下

<api xmlns="http://ws.apache.org/ns/synapse" name="ConcatAPI" context="/concat">
<resource methods="GET">
  <inSequence>
     <call>
        <endpoint>
           <http method="GET" uri-template="http://www.mocky.io/v2/56b2d88c13000057518945d4"/>
        </endpoint>
     </call>
     <enrich>
        <source type="body" clone="true"/>
        <target type="property" property="first-json"/>
     </enrich>
     <log level="custom">
        <property name="First json" expression="get-property('first-json')"/>
     </log>
     <call>
        <endpoint>
           <http method="GET" uri-template="http://www.mocky.io/v2/56b2d87d1300007c518945d3"/>
        </endpoint>
     </call>
     <payloadFactory media-type="xml">
        <format>
           <completeJson xmlns="">
              <firstjson>$1</firstjson>
              <secondjson>$2</secondjson>
           </completeJson>
        </format>
        <args>
           <arg evaluator="xml" expression="get-property('first-json')"/>
           <arg evaluator="xml" expression="$body"/>
        </args>
     </payloadFactory>
     <property name="messageType" value="application/json" scope="axis2"/>
     <send/>
  </inSequence>
  <outSequence/>
  <faultSequence/>
</resource>
</api>

但是在更新过程中,“action”参数没有附加URL,因此抛出了NullPoitnerException。

任何修复方案? 提前致谢!

2 个答案:

答案 0 :(得分:0)

Java 8 中,您可以这样做

Optional<String> paramOptional=Optional.ofNullable(request.getParameter());
        paramOptional.ifPresent(param->{
            //Do something with param
        });
 OR
 String param =paramOptional.orElse("you else string");//if null then this string will be return

答案 1 :(得分:0)

如果request.getParameter(x)在未设置x时返回 null ,则可以简单地在if子句中交换这两个条件。

因此

if(request.getParameter("action")=="delete" && request.getParameter("action")!=null)

会变成

if(request.getParameter("action")!=null && request.getParameter("action")=="delete")

由于&&是Java中的short-circuit 布尔值和,因此只有在{{1}之前的部分才会执行语句的后半部分计算到 true - 从而防止你的NullPointerException。

&&是与字符串文字的比较。您最好使用.equals()代替。