java.util.Optional.orElse()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(264)

本文整理了Java中java.util.Optional.orElse()方法的一些代码示例,展示了Optional.orElse()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Optional.orElse()方法的具体详情如下:
包路径:java.util.Optional
类名称:Optional
方法名:orElse

Optional.orElse介绍

[英]Return the value if present, otherwise return other.
[中]返回值(如果存在),否则返回其他值。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Nullable
private static MediaType initDefaultMediaType(List<MediaType> mediaTypes) {
  return mediaTypes.stream().filter(MediaType::isConcrete).findFirst().orElse(null);
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Determine the media types for the given file name, if possible.
 * @param filename the file name plus extension
 * @return the corresponding media types, or an empty list if none found
 */
public static List<MediaType> getMediaTypes(@Nullable String filename) {
  return Optional.ofNullable(StringUtils.getFilenameExtension(filename))
      .map(s -> s.toLowerCase(Locale.ENGLISH))
      .map(fileExtensionToMediaTypes::get)
      .orElse(Collections.emptyList());
}

代码示例来源:origin: spring-projects/spring-framework

private String getCharset() {
  return Optional.of(this.bodySpec.returnResult())
      .map(EntityExchangeResult::getResponseHeaders)
      .map(HttpHeaders::getContentType)
      .map(MimeType::getCharset)
      .orElse(StandardCharsets.UTF_8)
      .name();
}

代码示例来源:origin: spring-projects/spring-framework

private static <T, S extends Publisher<T>> S readWithMessageReaders(
    ReactiveHttpInputMessage message, BodyExtractor.Context context, ResolvableType elementType,
    Function<HttpMessageReader<T>, S> readerFunction,
    Function<UnsupportedMediaTypeException, S> errorFunction,
    Supplier<S> emptySupplier) {
  if (VOID_TYPE.equals(elementType)) {
    return emptySupplier.get();
  }
  MediaType contentType = Optional.ofNullable(message.getHeaders().getContentType())
      .orElse(MediaType.APPLICATION_OCTET_STREAM);
  return context.messageReaders().stream()
      .filter(reader -> reader.canRead(elementType, contentType))
      .findFirst()
      .map(BodyExtractors::<T>cast)
      .map(readerFunction)
      .orElseGet(() -> {
        List<MediaType> mediaTypes = context.messageReaders().stream()
            .flatMap(reader -> reader.getReadableMediaTypes().stream())
            .collect(Collectors.toList());
        return errorFunction.apply(
            new UnsupportedMediaTypeException(contentType, mediaTypes, elementType));
      });
}

代码示例来源:origin: apache/incubator-druid

@Override
 @Nullable
 public Long getLockId(String entryId, LockType lock)
 {
  return getLocks(entryId).entrySet().stream()
              .filter(entry -> entry.getValue().equals(lock))
              .map(Entry::getKey)
              .findAny()
              .orElse(null);
 }
}

代码示例来源:origin: apache/incubator-dubbo

@Override
public synchronized void notify(List<URL> urls) {
  List<URL> categoryUrls = urls.stream()
      .filter(this::isValidCategory)
      .filter(this::isNotCompatibleFor26x)
      .collect(Collectors.toList());
  /**
   * TODO Try to refactor the processing of these three type of urls using Collectors.groupBy()?
   */
  this.configurators = Configurator.toConfigurators(classifyUrls(categoryUrls, UrlUtils::isConfigurator))
      .orElse(configurators);
  toRouters(classifyUrls(categoryUrls, UrlUtils::isRoute)).ifPresent(this::addRouters);
  // providers
  refreshOverrideAndInvoker(classifyUrls(categoryUrls, UrlUtils::isProvider));
}

代码示例来源:origin: prestodb/presto

public Type[] getRelationCoercion(Relation relation)
{
  return Optional.ofNullable(relationCoercions.get(NodeRef.of(relation)))
      .map(types -> types.stream().toArray(Type[]::new))
      .orElse(null);
}

代码示例来源:origin: apache/incubator-druid

@Nullable
MonitorEntry getRunningTaskMonitorEntry(String subTaskSpecId)
{
 return runningTasks.values()
           .stream()
           .filter(monitorEntry -> monitorEntry.spec.getId().equals(subTaskSpecId))
           .findFirst()
           .orElse(null);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public WebClient build() {
  ExchangeFunction exchange = initExchangeFunction();
  ExchangeFunction filteredExchange = (this.filters != null ? this.filters.stream()
      .reduce(ExchangeFilterFunction::andThen)
      .map(filter -> filter.apply(exchange))
      .orElse(exchange) : exchange);
  return new DefaultWebClient(filteredExchange, initUriBuilderFactory(),
      this.defaultHeaders != null ? unmodifiableCopy(this.defaultHeaders) : null,
      this.defaultCookies != null ? unmodifiableCopy(this.defaultCookies) : null,
      this.defaultRequest, new DefaultWebClientBuilder(this));
}

代码示例来源:origin: SonarSource/sonarqube

private void validatePullRequestParamsWhenPluginAbsent(List<String> validationMessages) {
 Stream.of(PULL_REQUEST_KEY, PULL_REQUEST_BRANCH, PULL_REQUEST_BASE)
  .filter(param -> nonNull(settings.get(param).orElse(null)))
  .forEach(param -> validationMessages.add(format("To use the property \"%s\", the branch plugin is required but not installed. "
   + "See the documentation of branch support: %s.", param, BRANCHES_DOC_LINK)));
}

代码示例来源:origin: prestodb/presto

public List<GroupingOperation> getGroupingOperations(QuerySpecification querySpecification)
{
  return Optional.ofNullable(groupingOperations.get(NodeRef.of(querySpecification)))
      .orElse(emptyList());
}

代码示例来源:origin: baomidou/mybatis-plus

public Resource[] resolveMapperLocations() {
  return Stream.of(Optional.ofNullable(this.mapperLocations).orElse(new String[0]))
    .flatMap(location -> Stream.of(getResources(location)))
    .toArray(Resource[]::new);
}

代码示例来源:origin: prestodb/presto

@Override
  public Result apply(SemiJoinNode semiJoinNode, Captures captures, Context context)
  {
    Set<Symbol> requiredFilteringSourceInputs = Streams.concat(
        Stream.of(semiJoinNode.getFilteringSourceJoinSymbol()),
        semiJoinNode.getFilteringSourceHashSymbol().map(Stream::of).orElse(Stream.empty()))
        .collect(toImmutableSet());

    return restrictOutputs(context.getIdAllocator(), semiJoinNode.getFilteringSource(), requiredFilteringSourceInputs)
        .map(newFilteringSource ->
            semiJoinNode.replaceChildren(ImmutableList.of(semiJoinNode.getSource(), newFilteringSource)))
        .map(Result::ofPlanNode)
        .orElse(Result.empty());
  }
}

代码示例来源:origin: lets-blade/blade

/**
 * register route to container
 */
public void register() {
  routes.values().forEach(route -> logAddRoute(log, route));
  hooks.values().stream().flatMap(Collection::stream).forEach(route -> logAddRoute(log, route));
  Stream.of(routes.values(), hooks.values().stream().findAny().orElse(new ArrayList<>()))
      .flatMap(Collection::stream).forEach(this::registerRoute);
  regexMapping.register();
  webSockets.keySet().forEach(path -> logWebSocket(log, path));
}

代码示例来源:origin: spring-projects/spring-framework

private static Log initLogger(List<Log> loggers, Predicate<Log> predicate) {
  return loggers.stream().filter(predicate).findFirst().orElse(NO_OP_LOG);
}

代码示例来源:origin: spring-projects/spring-framework

private Charset getCharset() {
  return Optional.ofNullable(this.headers.getContentType())
      .map(MimeType::getCharset).orElse(StandardCharsets.UTF_8);
}

代码示例来源:origin: hs-web/hsweb-framework

public boolean putCreatorId(OwnCreatedDataAccessConfig access, AuthorizingContext context) {
  RecordCreationEntity entity = context.getParamContext().getParams()
      .values().stream()
      .filter(RecordCreationEntity.class::isInstance)
      .map(RecordCreationEntity.class::cast)
      .findAny().orElse(null);
  if (entity != null) {
    entity.setCreatorId(context.getAuthentication().getUser().getId());
  } else {
    logger.warn("try put creatorId property,but not found any RecordCreationEntity!");
  }
  return true;
}

代码示例来源:origin: apache/incubator-dubbo

@Override
public synchronized void notify(List<URL> urls) {
  List<URL> categoryUrls = urls.stream()
      .filter(this::isValidCategory)
      .filter(this::isNotCompatibleFor26x)
      .collect(Collectors.toList());
  /**
   * TODO Try to refactor the processing of these three type of urls using Collectors.groupBy()?
   */
  this.configurators = Configurator.toConfigurators(classifyUrls(categoryUrls, UrlUtils::isConfigurator))
      .orElse(configurators);
  toRouters(classifyUrls(categoryUrls, UrlUtils::isRoute)).ifPresent(this::addRouters);
  // providers
  refreshOverrideAndInvoker(classifyUrls(categoryUrls, UrlUtils::isProvider));
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * A shortcut for creating a {@code ResponseEntity} with the given body
 * and the {@linkplain HttpStatus#OK OK} status, or an empty body and a
 * {@linkplain HttpStatus#NOT_FOUND NOT FOUND} status in case of a
 * {@linkplain Optional#empty()} parameter.
 * @return the created {@code ResponseEntity}
 * @since 5.1
 */
public static <T> ResponseEntity<T> of(Optional<T> body) {
  Assert.notNull(body, "Body must not be null");
  return body.map(ResponseEntity::ok).orElse(notFound().build());
}

代码示例来源:origin: perwendel/spark

public static String fromResource(AbstractFileResolvingResource resource) {
  String filename = Optional.ofNullable(resource.getFilename()).orElse("");
  return getMimeType(filename);
}

相关文章