gpt4 book ai didi

java - toString() 和 MVC

转载 作者:行者123 更新时间:2023-12-01 16:45:11 24 4
gpt4 key购买 nike

toString() 的 API 文档指出:

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

(强调我的)

考虑到这一点,我为 Building 类型类编写了一个 toString() ,该类本质上是(某些实现被剥离)

@Override
public String toString(){
Stringbuilder sb = new StringBuilder("<p>");
sb.append (this.getDesc());
sb.append ("which contains: <br> <ul>");
for (Room r: this.getRooms()){
sb.append("<li>");
sb.append(r.getDesc());
sb.append("</li>");
}
sb.append("</ul>");
return sb.toString();
}

给予类似的东西:

A self contained student flat which contains:

  • A basic study
  • A basic living area
  • A basic bathroom
  • A basic bedroom

我认为这是一个“简洁但内容丰富的表示形式,易于人们阅读”,但它似乎与我所理解的 MVC 背道而驰。 BuildingRoom 类都在模型中,并且这种输出格式肯定属于 View 中吗?

我不确定我是否想得太多,Java API 是否不是按照 MVC 编写的,或者是否有一些我不理解的地方。表示问题可以放在 toString() 中吗?我有一个单独的 displayBuilding() 或类似的东西会更好吗?

最佳答案

toString() 在java世界中主要用作调试或在日志中显示数据的工具。

就您提到的目的而言,很明显 toString() 绝对不是这个工具。

您应该非常具体地了解必须在 View 中显示的数据,并且可能会一起使用不同的模型,然后在建筑模型中设置值,然后将该模型发送到 UI。

关于java - toString() 和 MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com