<分区>
我不明白我的应用程序中发生了什么。我正在发送 PUT 请求,其中包含从 Angular 项目到 java api 的更新。我有一个方法可以验证来自放置请求的查询参数,该方法如下所示:
private JsonObject validateRequestBody(JsonElement requestBody) {
if (!(requestBody instanceof JsonObject)) {
throw new IllegalArgumentException("Request body cannot be case to JSON object");
}
JsonObject bodyObj = requestBody.getAsJsonObject();
System.out.println(bodyObj.get("entityIri").equals(null));
if (bodyObj.get("entityIri") == null) {
System.out.println("null");
throw new IllegalArgumentException("Request body must contain entity IRI");
}
return bodyObj;
}
如您所见,我只是想检查 enityIri
参数是否等于 null。为了测试它,我从 Angular 项目发送 null
作为 entityIri
。我尝试将它们与 equal
方法和 ==
进行比较,但在这两种情况下,输出始终为 false。有人能解释一下为什么他们不平等吗?是因为我将它传递给 JsonObject
吗?
我附上 screenshot来自调试(我删除了不相关的部分)。