當前位置: 首頁>>代碼示例>>Java>>正文


Java OptionalDouble.empty方法代碼示例

本文整理匯總了Java中java.util.OptionalDouble.empty方法的典型用法代碼示例。如果您正苦於以下問題:Java OptionalDouble.empty方法的具體用法?Java OptionalDouble.empty怎麽用?Java OptionalDouble.empty使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.util.OptionalDouble的用法示例。


在下文中一共展示了OptionalDouble.empty方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: average

import java.util.OptionalDouble; //導入方法依賴的package包/類
/**
 * {@inheritDoc}
 *
 * @implNote The {@code double} format can represent all
 * consecutive integers in the range -2<sup>53</sup> to
 * 2<sup>53</sup>. If the pipeline has more than 2<sup>53</sup>
 * values, the divisor in the average computation will saturate at
 * 2<sup>53</sup>, leading to additional numerical errors.
 */
@Override
public final OptionalDouble average() {
    /*
     * In the arrays allocated for the collect operation, index 0
     * holds the high-order bits of the running sum, index 1 holds
     * the low-order bits of the sum computed via compensated
     * summation, index 2 holds the number of values seen, index 3
     * holds the simple sum.
     */
    double[] avg = collect(() -> new double[4],
                           (ll, d) -> {
                               ll[2]++;
                               Collectors.sumWithCompensation(ll, d);
                               ll[3] += d;
                           },
                           (ll, rr) -> {
                               Collectors.sumWithCompensation(ll, rr[0]);
                               Collectors.sumWithCompensation(ll, rr[1]);
                               ll[2] += rr[2];
                               ll[3] += rr[3];
                           });
    return avg[2] > 0
        ? OptionalDouble.of(Collectors.computeFinalSum(avg) / avg[2])
        : OptionalDouble.empty();
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:35,代碼來源:DoublePipeline.java

示例2: average

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Override
public final OptionalDouble average() {
    long[] avg = collect(() -> new long[2],
                         (ll, i) -> {
                             ll[0]++;
                             ll[1] += i;
                         },
                         (ll, rr) -> {
                             ll[0] += rr[0];
                             ll[1] += rr[1];
                         });
    return avg[0] > 0
           ? OptionalDouble.of((double) avg[1] / avg[0])
           : OptionalDouble.empty();
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:16,代碼來源:IntPipeline.java

示例3: testEmpty

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Test(groups = "unit")
public void testEmpty() {
    OptionalDouble empty = OptionalDouble.empty();
    OptionalDouble present = OptionalDouble.of(1.0);

    // empty
    assertTrue(empty.equals(empty));
    assertTrue(empty.equals(OptionalDouble.empty()));
    assertTrue(!empty.equals(present));
    assertTrue(0 == empty.hashCode());
    assertTrue(!empty.toString().isEmpty());
    assertTrue(!empty.isPresent());

    empty.ifPresent(v -> { fail(); });

    AtomicBoolean emptyCheck = new AtomicBoolean();
    empty.ifPresentOrElse(v -> fail(), () -> emptyCheck.set(true));
    assertTrue(emptyCheck.get());

    try {
        empty.ifPresentOrElse(v -> fail(), () -> { throw new ObscureException(); });
        fail();
    } catch (ObscureException expected) {
    } catch (AssertionError e) {
        throw e;
    } catch (Throwable t) {
        fail();
    }

    assertEquals(2.0, empty.orElse(2.0));
    assertEquals(2.0, empty.orElseGet(()-> 2.0));
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:33,代碼來源:BasicDouble.java

示例4: toOptionalDouble

import java.util.OptionalDouble; //導入方法依賴的package包/類
private static OptionalDouble toOptionalDouble(final String value) {
	try {
		return OptionalDouble.of(Double.parseDouble(value));
	} catch (NumberFormatException e) {
		return OptionalDouble.empty();
	}
}
 
開發者ID:jenetics,項目名稱:prngine,代碼行數:8,代碼來源:DieHarder.java

示例5: getValue

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Override
public OptionalDouble getValue(final JavaType type, final ResultSet rs, final int columnIndex,
		final PropertyMapperManager mapperManager)
		throws SQLException {
	double value = rs.getDouble(columnIndex);
	if (!rs.wasNull()) {
		return OptionalDouble.of(value);
	} else {
		return OptionalDouble.empty();
	}
}
 
開發者ID:future-architect,項目名稱:uroborosql,代碼行數:12,代碼來源:OptionalDoublePropertyMapper.java

示例6: testEmptyGet

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Test(expectedExceptions=NoSuchElementException.class)
public void testEmptyGet() {
    OptionalDouble empty = OptionalDouble.empty();

    double got = empty.getAsDouble();
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:7,代碼來源:BasicDouble.java

示例7: get

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Encoding.Expose
OptionalDouble get() {
  return present
      ? OptionalDouble.of(value)
      : OptionalDouble.empty();
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:7,代碼來源:CompactOptionalDouble.java

示例8: testEmptyOrElseThrowNull

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Test(expectedExceptions=NullPointerException.class)
public void testEmptyOrElseThrowNull() throws Throwable {
    OptionalDouble empty = OptionalDouble.empty();

    double got = empty.orElseThrow(null);
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:7,代碼來源:BasicDouble.java

示例9: PointProviderLocation

import java.util.OptionalDouble; //導入方法依賴的package包/類
public PointProviderLocation(World world, Vec3 position) {
    super(world, position);
    this.yaw = this.pitch = OptionalDouble.empty();
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:5,代碼來源:PointProviderLocation.java

示例10: testEmptyOrElseThrow

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Test(expectedExceptions=ObscureException.class)
public void testEmptyOrElseThrow() throws Exception {
    OptionalDouble empty = OptionalDouble.empty();

    double got = empty.orElseThrow(ObscureException::new);
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:7,代碼來源:BasicDouble.java

示例11: testEmptyOrElseGetNull

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Test(expectedExceptions=NullPointerException.class)
public void testEmptyOrElseGetNull() {
    OptionalDouble empty = OptionalDouble.empty();

    double got = empty.orElseGet(null);
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:7,代碼來源:BasicDouble.java

示例12: testEmpty

import java.util.OptionalDouble; //導入方法依賴的package包/類
@Test
public void testEmpty() {
	OptionalDoubleParameterMapper mapper = new OptionalDoubleParameterMapper();
	OptionalDouble optional = OptionalDouble.empty();
	assertThat(mapper.toJdbc(optional, null, null), is(nullValue()));
}
 
開發者ID:future-architect,項目名稱:uroborosql,代碼行數:7,代碼來源:OptionalDoubleParameterMapperTest.java

示例13: makeDouble

import java.util.OptionalDouble; //導入方法依賴的package包/類
/**
 * Constructs a {@code TerminalOp} that implements a functional reduce on
 * {@code double} values, producing an optional double result.
 *
 * @param operator the combining function
 * @return a {@code TerminalOp} implementing the reduction
 */
public static TerminalOp<Double, OptionalDouble>
makeDouble(DoubleBinaryOperator operator) {
    Objects.requireNonNull(operator);
    class ReducingSink
            implements AccumulatingSink<Double, OptionalDouble, ReducingSink>, Sink.OfDouble {
        private boolean empty;
        private double state;

        public void begin(long size) {
            empty = true;
            state = 0;
        }

        @Override
        public void accept(double t) {
            if (empty) {
                empty = false;
                state = t;
            }
            else {
                state = operator.applyAsDouble(state, t);
            }
        }

        @Override
        public OptionalDouble get() {
            return empty ? OptionalDouble.empty() : OptionalDouble.of(state);
        }

        @Override
        public void combine(ReducingSink other) {
            if (!other.empty)
                accept(other.state);
        }
    }
    return new ReduceOp<Double, OptionalDouble, ReducingSink>(StreamShape.DOUBLE_VALUE) {
        @Override
        public ReducingSink makeSink() {
            return new ReducingSink();
        }
    };
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:50,代碼來源:ReduceOps.java

示例14: findLast

import java.util.OptionalDouble; //導入方法依賴的package包/類
/**
 * Returns the last element of the specified stream, or {@link OptionalDouble#empty} if the stream
 * is empty.
 *
 * <p>Equivalent to {@code stream.reduce((a, b) -> b)}, but may perform significantly better. This
 * method's runtime will be between O(log n) and O(n), performing better on <a
 * href="http://gee.cs.oswego.edu/dl/html/StreamParallelGuidance.html">efficiently splittable</a>
 * streams.
 *
 * @see DoubleStream#findFirst()
 * @throws NullPointerException if the last element of the stream is null
 */
public static OptionalDouble findLast(DoubleStream stream) {
  // findLast(Stream) does some allocation, so we might as well box some more
  java.util.Optional<Double> boxedLast = findLast(stream.boxed());
  return boxedLast.isPresent() ? OptionalDouble.of(boxedLast.get()) : OptionalDouble.empty();
}
 
開發者ID:zugzug90,項目名稱:guava-mock,代碼行數:18,代碼來源:Streams.java

示例15: makeDouble

import java.util.OptionalDouble; //導入方法依賴的package包/類
/**
 * Constructs a {@code FindOp} for streams of doubles.
 *
 * @param mustFindFirst whether the {@code TerminalOp} must produce the
 *        first element in the encounter order
 * @return a {@code TerminalOp} implementing the find operation
 */
public static TerminalOp<Double, OptionalDouble> makeDouble(boolean mustFindFirst) {
    return new FindOp<>(mustFindFirst, StreamShape.DOUBLE_VALUE, OptionalDouble.empty(),
                        OptionalDouble::isPresent, FindSink.OfDouble::new);
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:12,代碼來源:FindOps.java


注:本文中的java.util.OptionalDouble.empty方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。