元素大小代表什么?

时间:2017-10-10 08:16:42

标签: java spring validation

我在Spring控制器中看到了注释@Size作为限制。 我正在寻找一个大小究竟是什么的解释,我发现了这个:

  

评估字段或属性的大小,并且必须与指定的边界匹配。如果字段或属性是String,则计算字符串的大小。如果字段或属性是Collection,则计算Collection的大小。如果字段或属性是Map,则评估Map的大小。如果字段或属性是数组,则计算数组的大小。使用可选的max或min元素之一来指定边界。

但是我不清楚你如何计算String的大小。它的字符数是多少?是字节数吗?有人知道吗?

2 个答案:

答案 0 :(得分:5)

您没有说明您找到该解释的位置,但javax.validation.constraints.Size Javadoc

The annotated element size must be between the specified boundaries (included).
Supported types are:

  CharSequence (length of character sequence is evaluated)
  Collection (collection size is evaluated)
  Map (map size is evaluated)
  Array (array length is evaluated)

  null elements are considered valid.

请注意,StringCharSequence

答案 1 :(得分:1)

这是字符串中的字符数。

@Size Javadoc说:

The annotated element size must be between the specified boundaries (included).
Supported types are:

CharSequence (length of character sequence is evaluated)
Collection (collection size is evaluated)
Map (map size is evaluated)
Array (array length is evaluated)

null elements are considered valid.

StringCharSequence,如果我们在此界面中查看length()方法的评论,我们会看到:

  

长度是序列中16位字符的数量。

有关@Size和其他验证程序的详细信息,请参阅http://beanvalidation.org/