Java 格式化方法中带有注释的特定类中的所有字符串

Java 格式化方法中带有注释的特定类中的所有字符串,java,annotations,format,Java,Annotations,Format,比方说,我有以下方法: public void anyMethod(User user){ user.sendMessage(Messages.sendUsernameNotFound()); } Messages.sendUsernameNotFound()方法是一个静态方法,它只返回一个字符串 假设我想格式化“Messages”类中的所有字符串,是否可以使用注释进行格式化 e、 g: 我以前从未使用过自定义注释 我问这个问题的原因是我有很多方法都在使用Messages类,所以我想知

比方说,我有以下方法:

public void anyMethod(User user){
    user.sendMessage(Messages.sendUsernameNotFound());
}
Messages.sendUsernameNotFound()
方法是一个
静态方法,它只返回一个
字符串

假设我想格式化“Messages”类中的所有字符串,是否可以使用注释进行格式化

e、 g:

我以前从未使用过自定义注释

我问这个问题的原因是我有很多方法都在使用Messages类,所以我想知道使用注释是否简单

当然我可以使用
Utilz.formatMessage(Messages.sendUsernameNotFound())

谢谢你的帮助和建议

将现有的
消息重命名。sendUsernameNotFound()
消息。sendUsernameNotFoundFormatted()
,重新创建
消息。sendUsernameNotFound()
通过复制/粘贴重命名方法,在
消息中使用
Utilz.formatMessage
。你也应该考虑不使用静态访问。首先,为什么一个名为sEndxxx的函数返回一个字符串?第二:为什么这个函数不能返回格式化字符串?从技术上讲,你可以这样做。但是请记住,注释是昂贵的——它们使用的反射在性能方面并不理想。在我看来,这里的注释是一种过度和冗余。每当我听到“我想在很多方法中有这样的行为”时,我的脑海中就会浮现出来。如果希望不同类使用不同的格式化程序,可以尝试使用AspectJ注入所需的格式化程序。但是,如果不需要不同的格式化程序,请使用@brummfondel建议,让消息返回格式化字符串。将现有的
消息重命名。sendUsernameNotFound()
消息。sendUsernameNotFoundFormatted()
,通过复制/粘贴重命名方法重新创建
消息。sendUsernameNotFound()
,在
Messages.sendUsernameNotFoundFormatted()中使用
Utilz.formatMessage
。你也应该考虑不使用静态访问。首先,为什么一个名为sEndxxx的函数返回一个字符串?第二:为什么这个函数不能返回格式化字符串?从技术上讲,你可以这样做。但是请记住,注释是昂贵的——它们使用的反射在性能方面并不理想。在我看来,这里的注释是一种过度和冗余。每当我听到“我想在很多方法中有这样的行为”时,我的脑海中就会浮现出来。如果希望不同类使用不同的格式化程序,可以尝试使用AspectJ注入所需的格式化程序。但是,如果您不需要不同的格式化程序,请使用@brummfondel建议并使消息返回格式化字符串。
@FormatMessage
public void anyMethod(User user){
    user.sendMessage(Messages.sendUsernameNotFound());
}