Java - 我应该使用常量来记录日志消息吗?

Pec*_*tum 7 java compiler-construction string logging

关于表单的快速问题.

我正在记录各种错误消息,我想知道是否应该在日志调用中为消息创建一个新字符串,或者在我用来存储其他字符串常量的接口中创建一个常量字符串,然后引用它.我使用的是代码分析器代码,它提到了后者说更好的做法是创建一个字符串常量并引用它,即使字符串只使用一次.我只是想知道这是否确实如此?

提前致谢

Aar*_*lla 3

我不确定您使用什么分析工具或如何配置它,但该建议对我来说似乎无效。Java 编译器已经为您创建了字符串常量(当代码调用 log 方法时,它通常不会分配新的 String 实例),那么手动完成这项工作有什么意义呢?

如果将字符串常量放入接口中,则可以在类之间共享它们,但不是以您认为的方式共享:Java 编译器会将常量的值复制到使用它的代码中(因此生成的字节代码不会具有不再对界面进行引用!)

我的建议:关闭这个误导性警告。