Entity Framework - сопоставление сложных типов примитивам в запросах LINQ?

Из Java 8 вы можете определить статические методы в интерфейсах в дополнение к методам по умолчанию.

  • Статический метод - это метод, который связан с классом, в котором он определен, а не с каким-либо объектом. Каждый экземпляр класса использует свои статические методы.
  • Это упрощает организацию вспомогательных методов в ваших библиотеках; вы можете хранить статические методы, специфичные для интерфейса в одном и том же интерфейсе, а не в отдельном классе.
  • В следующем примере определяется статический метод, который извлекает объект ZoneId, соответствующий идентификатору часового пояса; он использует часовой пояс системы по умолчанию, если нет объекта ZoneId, соответствующего данному идентификатору. (В результате вы можете упростить метод getZonedDateTime)

Вот код:

public interface TimeClient {
   // ...
    static public ZoneId getZoneId (String zoneString) {
        try {
            return ZoneId.of(zoneString);
        } catch (DateTimeException e) {
            System.err.println("Invalid time zone: " + zoneString +"; using default time zone instead.");
            return ZoneId.systemDefault();
        }
    }

   default public ZonedDateTime getZonedDateTime(String zoneString) {
      return ZonedDateTime.of(getLocalDateTime(), getZoneId(zoneString));
   }    
}

См. Также

0
задан PendorPaul 13 July 2018 в 12:18
поделиться