Подтвердить что ты не робот

Разница между @size (max = значение) и @min (значение) @max (значение)

Я хочу, чтобы какая-либо проверка домена

в моем объекте у меня есть одно целое число,

теперь мой вопрос в том, что я пишу

@Min(SEQ_MIN_VALUE)
@Max(SEQ_MAX_VALUE)
private Integer sequence;

и

 @Size(min = 1, max = NAME_MAX_LENGTH)
 private Integer sequence;

Если это целое число, которое подходит для проверки домена.

Может кто-нибудь объяснить мне, в чем разница между ними?

Спасибо.

4b9b3361

Ответ 1

@Min и @Max используются для проверки числовых полей, которые могут быть String (представляющие число), int, short, byte и т.д. и их соответствующих примитивных оберток.

@Size используется для проверки ограничений длины на поля.

В соответствии с документацией @Size поддерживает String, Collection, Map и arrays, а @Min и @Max поддерживает примитивы и их обертки. См. Документацию .

Ответ 2

package com.mycompany;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class Car {

    @NotNull
    private String manufacturer;

    @NotNull
    @Size(min = 2, max = 14)
    private String licensePlate;

    @Min(2)
    private int seatCount;

    public Car(String manufacturer, String licencePlate, int seatCount) {
        this.manufacturer = manufacturer;
        this.licensePlate = licencePlate;
        this.seatCount = seatCount;
    }

    //getters and setters ...
}

@NotNull, @Size и @Min - это так называемые аннотации ограничений, которые мы используем для объявления ограничений, которые должны применяться к полям экземпляра Car:

manufacturer никогда не будет null

licensePlate никогда не должно быть нулевым и должно быть от 2 до 14 символов

seatCount должно быть не менее 2.