在javadoc中@StringRes有什么用?

时间:2018-01-18 12:06:06

标签: java android annotations

我想知道像MyDialog(Context context, @StringRes int message)这样的方法,@ StringRes到底做了什么?我的印象是,如果它不在那里,程序员可能会认为消息是一个数字或什么?这只是开发人员的暗示,还是做了更重要的工作?

2 个答案:

答案 0 :(得分:3)

@StringRes表示要传递的整数是字符串资源(来自values / strings.xml)。例如:

R.string.title

参考:https://developer.android.com/reference/android/support/annotation/StringRes.html

答案 1 :(得分:2)

你做得对,这些注释将帮助开发人员谁将使用它,它也将帮助代码检查工具,如 Lint , IDE Android Studio本身支持,构建命令行

以下是Android文档

  

使用代码检查工具(如Lint)可以帮助您发现问题   并改进您的代码,但检查工具只能推断这么多。   例如,Android资源ID使用int来标识字符串,   图形,颜色和其他资源类型,因此检查工具不能   告诉您何时指定了应该拥有的字符串资源   指定了一种颜色。这种情况意味着您的应用可能会呈现   不正确或根本无法运行,即使您使用代码检查。

     

注释允许您提供代码检查工具的提示,例如   Lint,帮助检测这些更微妙的代码问题。他们被添加   作为附加到变量,参数和返回的元数据标记   值检查方法返回值,传递参数,本地   变量和字段。与代码检查工具一起使用时,   注释可以帮助您检测问题,例如空指针   异常和资源类型冲突。

     

Android通过Annotations支持各种注释   支持库。您可以通过访问该库   android.support.annotation包。