--- old/src/share/classes/java/util/function/DoubleBinaryOperator.java 2012-11-26 17:52:59.955299912 -0800 +++ new/src/share/classes/java/util/function/DoubleBinaryOperator.java 2012-11-26 17:52:59.747299901 -0800 @@ -29,10 +29,10 @@ * * @since 1.8 */ -public interface DoubleBinaryOperator /* extends BinaryOperator */ { -// -// @Override -// public default Double operate(Double left, Double right) { return operateAsDouble((double) left, (double) right); } +public interface DoubleBinaryOperator extends BinaryOperator { + + @Override + public default Double operate(Double left, Double right) { return operateAsDouble((double) left, (double) right); } /** * Returns the {@code double} result of the operation upon the --- old/src/share/classes/java/util/function/DoubleBlock.java 2012-11-26 17:53:00.619299944 -0800 +++ new/src/share/classes/java/util/function/DoubleBlock.java 2012-11-26 17:53:00.411299933 -0800 @@ -33,7 +33,10 @@ * * @since 1.8 */ -public interface DoubleBlock { +public interface DoubleBlock extends Block { + + @Override + public default void accept(Double t) { accept((double) t); } /** * Use the {@code double} input value in an operation which may modify --- old/src/share/classes/java/util/function/DoubleFunction.java 2012-11-26 17:53:01.279299975 -0800 +++ new/src/share/classes/java/util/function/DoubleFunction.java 2012-11-26 17:53:01.071299966 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface DoubleFunction { +public interface DoubleFunction extends Function { + + @Override + public default Double apply(T t) { return applyAsDouble(t); } /** * Apply a function to the input object yielding an appropriate --- old/src/share/classes/java/util/function/DoubleSupplier.java 2012-11-26 17:53:01.935300008 -0800 +++ new/src/share/classes/java/util/function/DoubleSupplier.java 2012-11-26 17:53:01.731299997 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface DoubleSupplier { +public interface DoubleSupplier extends Supplier { + + @Override + public default Double get() { return getAsDouble(); } /** * Returns a {@code double} value. --- old/src/share/classes/java/util/function/DoubleUnaryOperator.java 2012-11-26 17:53:02.595300040 -0800 +++ new/src/share/classes/java/util/function/DoubleUnaryOperator.java 2012-11-26 17:53:02.391300029 -0800 @@ -30,7 +30,10 @@ * * @since 1.8 */ -public interface DoubleUnaryOperator { +public interface DoubleUnaryOperator extends UnaryOperator { + + @Override + public default Double operate(Double operand) { return operateAsDouble((double) operand); } /** * Returns the {@code double} result of the operation upon the --- old/src/share/classes/java/util/function/IntBinaryOperator.java 2012-11-26 17:53:03.263300072 -0800 +++ new/src/share/classes/java/util/function/IntBinaryOperator.java 2012-11-26 17:53:03.055300061 -0800 @@ -29,7 +29,10 @@ * * @since 1.8 */ -public interface IntBinaryOperator { +public interface IntBinaryOperator extends BinaryOperator { + + @Override + public default Integer operate(Integer left, Integer right) { return operateAsInt((int) left, (int) right); } /** * Returns the {@code int} result of the operation upon the {@code int} --- old/src/share/classes/java/util/function/IntBlock.java 2012-11-26 17:53:03.927300104 -0800 +++ new/src/share/classes/java/util/function/IntBlock.java 2012-11-26 17:53:03.719300094 -0800 @@ -33,7 +33,12 @@ * * @since 1.8 */ -public interface IntBlock { +public interface IntBlock extends Block { + + @Override + public default void accept(Integer t) { + accept((int) t); + } /** * Use the {@code int} input value in an operation which may modify external --- old/src/share/classes/java/util/function/IntFunction.java 2012-11-26 17:53:04.587300135 -0800 +++ new/src/share/classes/java/util/function/IntFunction.java 2012-11-26 17:53:04.383300127 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface IntFunction { +public interface IntFunction extends Function { + + @Override + public default Integer apply(T t) { return applyAsInt(t); } /** * Apply a function to the input object yielding an appropriate {@code int} --- old/src/share/classes/java/util/function/IntSupplier.java 2012-11-26 17:53:05.247300168 -0800 +++ new/src/share/classes/java/util/function/IntSupplier.java 2012-11-26 17:53:05.043300158 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface IntSupplier { +public interface IntSupplier extends Supplier { + + @Override + public default Integer get() { return getAsInt(); } /** * Returns an {@code int} value. --- old/src/share/classes/java/util/function/IntUnaryOperator.java 2012-11-26 17:53:05.911300201 -0800 +++ new/src/share/classes/java/util/function/IntUnaryOperator.java 2012-11-26 17:53:05.703300189 -0800 @@ -29,7 +29,12 @@ * * @since 1.8 */ -public interface IntUnaryOperator { +public interface IntUnaryOperator extends UnaryOperator { + + @Override + public default Integer operate(Integer operand) { + return operateAsInt((int) operand); + } /** * Returns the {@code int} result of the operation upon the {@code int} --- old/src/share/classes/java/util/function/LongBinaryOperator.java 2012-11-26 17:53:06.575300233 -0800 +++ new/src/share/classes/java/util/function/LongBinaryOperator.java 2012-11-26 17:53:06.363300222 -0800 @@ -29,7 +29,10 @@ * * @since 1.8 */ -public interface LongBinaryOperator { +public interface LongBinaryOperator extends BinaryOperator { + + @Override + public default Long operate(Long left, Long right) { return operateAsLong((long) left, (long) right); } /** * Returns the {@code long} result of the operation upon the {@code long} --- old/src/share/classes/java/util/function/LongBlock.java 2012-11-26 17:53:07.239300265 -0800 +++ new/src/share/classes/java/util/function/LongBlock.java 2012-11-26 17:53:07.031300255 -0800 @@ -33,7 +33,10 @@ * * @since 1.8 */ -public interface LongBlock { +public interface LongBlock extends Block { + + @Override + public default void accept(Long t) { accept((long) t); } /** * Use the {@code long} input value in an operation which may modify --- old/src/share/classes/java/util/function/LongFunction.java 2012-11-26 17:53:07.899300296 -0800 +++ new/src/share/classes/java/util/function/LongFunction.java 2012-11-26 17:53:07.695300287 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface LongFunction { +public interface LongFunction extends Function { + + @Override + public default Long apply(T t) { return applyAsLong(t); } /** * Apply a function to the input object yielding an appropriate {@code long} --- old/src/share/classes/java/util/function/LongSupplier.java 2012-11-26 17:53:08.563300328 -0800 +++ new/src/share/classes/java/util/function/LongSupplier.java 2012-11-26 17:53:08.355300319 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface LongSupplier { +public interface LongSupplier extends Supplier { + + @Override + public default Long get() { return getAsLong(); } /** * Returns a {@code long} value. --- old/src/share/classes/java/util/function/LongUnaryOperator.java 2012-11-26 17:53:09.223300361 -0800 +++ new/src/share/classes/java/util/function/LongUnaryOperator.java 2012-11-26 17:53:09.015300350 -0800 @@ -29,7 +29,10 @@ * * @since 1.8 */ -public interface LongUnaryOperator { +public interface LongUnaryOperator extends UnaryOperator { + + @Override + public default Long operate(Long operand) { return operateAsLong((long) operand); } /** * Returns the {@code long} result of the operation upon the {@code long} --- old/src/share/classes/java/util/function/UnaryOperator.java 2012-11-26 17:53:09.883300393 -0800 +++ new/src/share/classes/java/util/function/UnaryOperator.java 2012-11-26 17:53:09.675300383 -0800 @@ -32,7 +32,10 @@ * * @since 1.8 */ -public interface UnaryOperator { +public interface UnaryOperator extends Function { + + @Override + public default T apply(T operand) { return operate(operand); } /** * Returns the result of the operation upon the operand.