Проверка наличия в JSON необходимых значений в Java

Чтобы инактивировать стили, не связанные с рабочим столом, вам просто нужно изменить 4 строки кода в файле variables.less. Задайте контрольные точки ширины экрана в файле variables.less следующим образом:

// Media queries breakpoints
// --------------------------------------------------

// Extra small screen / phone
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
@screen-xs:                  1px;
@screen-xs-min:              @screen-xs;
@screen-phone:               @screen-xs-min;

// Small screen / tablet
// Note: Deprecated @screen-sm and @screen-tablet as of v3.0.1
@screen-sm:                  2px;
@screen-sm-min:              @screen-sm;
@screen-tablet:              @screen-sm-min;

// Medium screen / desktop
// Note: Deprecated @screen-md and @screen-desktop as of v3.0.1
@screen-md:                  3px;
@screen-md-min:              @screen-md;
@screen-desktop:             @screen-md-min;

// Large screen / wide desktop
// Note: Deprecated @screen-lg and @screen-lg-desktop as of v3.0.1
@screen-lg:                  9999px;
@screen-lg-min:              @screen-lg;
@screen-lg-desktop:          @screen-lg-min;

Это устанавливает минимальную ширину в запросе медиа-контента рабочего стола ниже, чтобы она применима ко всем ширинам экрана. Благодаря 2calledchaos для улучшения! Некоторые базовые стили определяются в мобильных стилях, поэтому мы должны обязательно их включать.

Изменить: chris отмечает, что вы можете установить эти переменные в онлайн-компиляторе на сайте начальной загрузки

0
задан shmosel 5 March 2019 в 20:29
поделиться

2 ответа

То, что вы можете сделать, чтобы избежать многих других утверждений, это создать некоторую абстракцию валидации.

interface Validator<A, B> {
  boolean validate(A receivedObject, B existingObject);
}

Затем для каждого if создайте новую реализацию Validator.

class NameValidator implements Validator<Expeceted, Received> {
  @Override
  public boolean validate(Expeceted receivedObject, Received existingObject) {
    return existingObject.getName().equals(receivedObject.getName());
  }
}   

class LocationValidator implements Validator<Expeceted, Received> {
  @Override
  public boolean validate(Expeceted receivedObject, Received existingObject) {
    return existingObject.getLocation().equals(receivedObject.getLocation());
  }
}

Вы можете создать список таких валидаторов

List<Validator<Expeceted, Received>> validators = Arrays.asList(
  new NameValidator(),
  new LocationValidator()
);

И, наконец, ваш метод сравнения может просто перебрать все валидаторы.

public boolean compareObjects(Received recievedObject, Expeceted expecetedObject) {
  for (Validator<Expeceted, Received> validation : validators) {
    if (! validation.validate(expecetedObject, recievedObject)) {
      return false;
    }
  }
  return true;
}

Таким образом, вы можете позже просто добавить новые валидаторы и оставить метод сравнения без изменений.

0
ответ дан Ján Čabala 5 March 2019 в 20:29
поделиться

определить метод, аналогичный «равному» для вашего класса, и в конечной точке проверить существующий_объект.check (receiveObject), добавить импорт java.util.Objects в ваш класс

public boolean check(Object o) {
    if (this == o) {
        return true;
    }
    if (o == null || getClass() != o.getClass()) {
        return false;
    }
    RecievedObject receivedObject=(RecievedObject) o;

   //add based on the logic you want
    return Objects.equals(location, receivedObject.location) &&
            Objects.equals(name, receivedObject.name);
}
0
ответ дан khodayar J 5 March 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: