gpt4 book ai didi

java - 如何找到特定类型的 toString() 方法的隐式用法

转载 作者:搜寻专家 更新时间:2023-11-01 00:55:00 26 4
gpt4 key购买 nike

最近,我将代码中处理密码的所有地方从 String 更改为新的 Password 类。 Password.toString() 方法现在只打印 [********]。如果我想获得密码,我必须调用 Password.getPassword()。这样我就可以确保不会有密码被意外写入日志文件。

在更改过程中,我错过了更改一些看起来像这样的行:

String.format( "user:%s", password );

在我更改之前,passwordString 类型,因此它的格式符合要求。但是在我更改后 password 呈现为 [*******]。这正是我想要的。但现在我想自动找到所有这些地方。

我试过了 findbugsfb-contrib插件 ( ITU_INAPPROPRIATE_TOSTRING_USE ) 但它没有发现 Password.toString() 在 String.format() 中的隐式使用。

有人知道另一个 findbugs contrib 项目或任何其他可以找到这些代码位置的静态代码分析器吗?

最佳答案

ITU 仅发现 toString() 的用途是在您推断内容的值时使用,比如您是否正在解析它以获得某个值,或者使用它来构建其他字符串。检测器在那里让您知道您真的不应该依赖 toString() 的内容,因为在许多情况下它应该被视为“调试”输出。 (如您在此处所见)。

许多误报只是为了检查始终有效的 toString() 的使用。

不,不知道有什么检测器,尽管编写一个检测器非常简单。

关于java - 如何找到特定类型的 toString() 方法的隐式用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38993313/

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