Domino java示例代码无法正常工作

时间:2015-01-29 19:09:06

标签: java lotus-domino

以下是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();
    }
  }
}

3 个答案:

答案 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())工作! 即使没有大括号!