public interface java.util.stream.Collector<T, A, R>
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: java.util.stream.Collector
super_class: java.lang.Object
{
public abstract java.util.function.Supplier<A> supplier();
descriptor: ()Ljava/util/function/Supplier;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/function/Supplier<TA;>;
public abstract java.util.function.BiConsumer<A, T> accumulator();
descriptor: ()Ljava/util/function/BiConsumer;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/function/BiConsumer<TA;TT;>;
public abstract java.util.function.BinaryOperator<A> combiner();
descriptor: ()Ljava/util/function/BinaryOperator;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/function/BinaryOperator<TA;>;
public abstract java.util.function.Function<A, R> finisher();
descriptor: ()Ljava/util/function/Function;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/function/Function<TA;TR;>;
public abstract java.util.Set<java.util.stream.Collector$Characteristics> characteristics();
descriptor: ()Ljava/util/Set;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Set<Ljava/util/stream/Collector$Characteristics;>;
public static <T, R> java.util.stream.Collector<T, R, R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector$Characteristics[]);
descriptor: (Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
arraylength
ifne 6
5: getstatic java.util.stream.Collectors.CH_ID:Ljava/util/Set;
goto 9
6: StackMap locals:
StackMap stack:
getstatic java.util.stream.Collector$Characteristics.IDENTITY_FINISH:Ljava/util/stream/Collector$Characteristics;
7: aload 3
8: invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
9: StackMap locals:
StackMap stack: java.util.Set
astore 4
start local 4 10: new java.util.stream.Collectors$CollectorImpl
dup
aload 0
aload 1
aload 2
aload 4
invokespecial java.util.stream.Collectors$CollectorImpl.<init>:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/Set;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 supplier Ljava/util/function/Supplier<TR;>;
0 11 1 accumulator Ljava/util/function/BiConsumer<TR;TT;>;
0 11 2 combiner Ljava/util/function/BinaryOperator<TR;>;
0 11 3 characteristics [Ljava/util/stream/Collector$Characteristics;
10 11 4 cs Ljava/util/Set<Ljava/util/stream/Collector$Characteristics;>;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TR;>;Ljava/util/function/BiConsumer<TR;TT;>;Ljava/util/function/BinaryOperator<TR;>;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector<TT;TR;TR;>;
MethodParameters:
Name Flags
supplier
accumulator
combiner
characteristics
public static <T, A, R> java.util.stream.Collector<T, A, R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A, T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A, R>, java.util.stream.Collector$Characteristics[]);
descriptor: (Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 4
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic java.util.stream.Collectors.CH_NOID:Ljava/util/Set;
astore 5
start local 5 6: aload 4
arraylength
ifle 10
7: ldc Ljava/util/stream/Collector$Characteristics;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 5
8: aload 5
aload 4
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
9: aload 5
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
astore 5
10: StackMap locals: java.util.Set
StackMap stack:
new java.util.stream.Collectors$CollectorImpl
dup
aload 0
aload 1
aload 2
aload 3
aload 5
invokespecial java.util.stream.Collectors$CollectorImpl.<init>:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;Ljava/util/Set;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 supplier Ljava/util/function/Supplier<TA;>;
0 11 1 accumulator Ljava/util/function/BiConsumer<TA;TT;>;
0 11 2 combiner Ljava/util/function/BinaryOperator<TA;>;
0 11 3 finisher Ljava/util/function/Function<TA;TR;>;
0 11 4 characteristics [Ljava/util/stream/Collector$Characteristics;
6 11 5 cs Ljava/util/Set<Ljava/util/stream/Collector$Characteristics;>;
Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TA;>;Ljava/util/function/BiConsumer<TA;TT;>;Ljava/util/function/BinaryOperator<TA;>;Ljava/util/function/Function<TA;TR;>;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector<TT;TA;TR;>;
MethodParameters:
Name Flags
supplier
accumulator
combiner
finisher
characteristics
}
Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Collector.java"
NestMembers:
java.util.stream.Collector$Characteristics
InnerClasses:
public final Characteristics = java.util.stream.Collector$Characteristics of java.util.stream.Collector
CollectorImpl = java.util.stream.Collectors$CollectorImpl of java.util.stream.Collectors