Java 如何在getter方法中返回null而不打印;空";在toString方法中,当以基于文本的方式获取输出时;地牢爬行;? 我正在尝试创建一个使用getter和setter方法的房间对象。对于每个房间,N、E、W或S都有一个房间或没有房间(空)。

Java 如何在getter方法中返回null而不打印;空";在toString方法中,当以基于文本的方式获取输出时;地牢爬行;? 我正在尝试创建一个使用getter和setter方法的房间对象。对于每个房间,N、E、W或S都有一个房间或没有房间(空)。,java,methods,Java,Methods,1) 每个房间对象最多包含四个其他房间对象(N、E、W或S)的参照 2) toString()方法应该包括文件室的名称、文件室的描述和getExits()方法 }//末级地下城爬行 #this is what I wan't my output to look like# [Hall] Its Dark. [N]orth: Bed [E]ast : Bath [W]est : Dining 我不知道我是否理解你的问题,但也许你可以这样做: public String toString() {

1) 每个房间对象最多包含四个其他房间对象(N、E、W或S)的参照

2) toString()方法应该包括文件室的名称、文件室的描述和getExits()方法

}//末级地下城爬行

#this is what I wan't my output to look like#
[Hall]
Its Dark.
[N]orth: Bed
[E]ast : Bath
[W]est : Dining

我不知道我是否理解你的问题,但也许你可以这样做:

public String toString() {
    return yourVariable == null ? "" : "text"
}

在这种情况下,如果
yourVar
为null,它将在getter方法中返回,而
toString
将返回您想要的任何内容。

您可以始终使用@override

    @Override
    public String toString(){
    return "["+name+"]\n"+description+"\n"+getExits();
    }

    public String getExits(){
    StringBuilder builder = new StringBuilder();
    if(west != null)
    builder.append("[W]est: "+west.getName()+"\n");
    else
    builder.append(";"); //append nothing if exit does not exist in that direction
    //repeat for every room
    return builder.toString();
    }

这确实需要将StringBuilder导入到类中,您也可以使用纯字符串连接来代替

我个人认为创建一个将类的对象作为变量的类是一个糟糕的想法。这是一个赋值。我同意。按照我应该做的方式做这件事没有多大意义,但是为了得到充分的信任,这件事必须以这种特殊的方式来做。谢谢你的意见。
    @Override
    public String toString(){
    return "["+name+"]\n"+description+"\n"+getExits();
    }

    public String getExits(){
    StringBuilder builder = new StringBuilder();
    if(west != null)
    builder.append("[W]est: "+west.getName()+"\n");
    else
    builder.append(";"); //append nothing if exit does not exist in that direction
    //repeat for every room
    return builder.toString();
    }