加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用于调试或实际逻辑用途的Java toString

发布时间:2020-12-15 00:57:00 所属栏目:Java 来源:网络整理
导读:这可能是一个非常基本的问题,如果已经提出这个问题,请道歉. Java中的toString()应该用于实际的程序逻辑,还是仅用于调试/人工读取.我的基本问题是当我需要在实际程序流中使用字符串表示时,应该使用toString()或编写一个名为asString()的不同方法. 我问的原因
这可能是一个非常基本的问题,如果已经提出这个问题,请道歉.
Java中的toString()应该用于实际的程序逻辑,还是仅用于调试/人工读取.我的基本问题是当我需要在实际程序流中使用字符串表示时,应该使用toString()或编写一个名为asString()的不同方法.

我问的原因是我在Web服务中有一堆类依赖于toString()才能正常工作,在我看来像asString()之类的东西会更安全.

谢谢

解决方法

除少数特定情况外,toString应该用于调试,而不是用于生产数据流.

该方法有一些限制,使其不太适合在生产数据流中使用:

>不带参数,该方法不允许您轻松更改字符串表示以响应环境.特别是,很难以对当前语言环境敏感的方式格式化字符串.
>作为java.Object类的一部分,此方法通常由子类重写.在依赖于特定表示的情况下,这可能是有害的,因为子类的编写者可能不知道您的限制.

此规则的明显例外是StringBuilderStringBuffer类的toString方法,因为这两个方法只是从相应对象的可变内容中生成不可变的字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读