以下是Domino 8设计器帮助获取数据库类别的代码。
条件“if(cat!=”“)总是返回true,虽然数据库类别为空或非空。什么是catch?
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext =
session.getAgentContext();
// (Your code goes here)
Database db = agentContext.getCurrentDatabase();
String title = db.getTitle();
String cat = db.getCategories();
if (cat != "")//This condition does not work
System.out.println("Database \"" +
title + "\" has the categories: " + cat);
else
System.out.println("Database \"" +
title + "\" has no categories");
} catch(Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:2)
将此用于if条件
!"".equals (cat)
直接检查引用相等性,而不是内容相等。
反转cat和空字符串处理null条件而没有任何拐杖,因为空字符串永远不会为空。
答案 1 :(得分:0)
我喜欢使用Google的Guava来处理这类事情,特别是在处理String
时在番石榴中存在Class Strings
提供
public static boolean isNullOrEmpty(@Nullable
String string)
Returns true if the given string is null or is the empty string.
所以请使用Strings.isNullOrEmpty(cat)
答案 2 :(得分:0)
它作为if (!cat.isEmpty())
工作!
即使没有大括号!