toString应该用于复杂的操作吗?

时间:2014-10-20 23:29:57

标签: java string tostring

我有一个名为CommandHelp的班级。它存储了一些字符串(显然)描述了命令的作用,它的别名是什么,它需要的参数以及我需要注册的关于命令的任何其他内容。

CommandHelp.toString()是一个"复杂的"方法因为它不返回命令名称或任何简短的名称,例如"命令:GOTO"而是返回(通常)200个字符长的String对象。

该课程还有一个toOneLineString()方法。

问题是:

应该避免toString - 作为方法的名称吗?将toFullStringtoFullCommandDescription用作该方法的名称会被视为一种良好做法(或更好的做法)?

编辑:toString()被覆盖。我只是问我在那里实现的方法是否应该在另一个方法名称下重构。

1 个答案:

答案 0 :(得分:4)

智慧是toString()只应该用于人类阅读,开发人员可以随意改变实施,而不会影响程序的行为。

生成其他代码所依赖的具有特定格式的String的方法不应以任何方式涉及toString()

您对特殊方法的想法似乎正确。请考虑使用getDescription()等方法名称。