Loading

Stream API 和 注解

Stream

 

 

 Stream特性

 

 

 Stream运行机制

 

 

 Stream常用API

 

 

 Stream的创建

 

 

 

public class StreamDemo{
    static void gen1(){
        String[] args = {"a","b","c","d","e"};
        Stream<String> strs1 = Stream.of(strs);
        strs.forEach(System.out::println);
        for(String str : strs){
            System.out.println(str);
        }
    }
    

    static void gen2(){
        List<String> list = Arrays.asList("1","2","3","4","5");
        Stream<String> stream = list.stream();
        stream.forEach(System.out::println);
    }

    static void gen3(){
        Stream<Integer> generate = Stream->generate(()->{
            for(int i = 0; i < 1000; i++){
                return i;
            }
        });
        generate.limit(10).forEach(System.out::println);
    }

    static void gen4(){
        Stream.iterate(1, x->x+1);
        iterate.limit(10).forEach(System.out.println);
    }

    static void gen5(){
        String str = "abc";
        Stream stream = str.chars();
        stream.forEach(System.out::println);
    }

    public static void main(String[] args){
        Arrays.asList(1,2,3,4,5).stream().filter((x)->x%2==0).forEach(System.out::println);    
        Arrays.asList(1,2,3,4,5,6,7,8,9).stream().filter(x->x%2==0).count();
        System.out.println(count);

        List<Integer> list = Arrays.asList(1,2,3,4,5,6);
        Optional <Integer> max = list.stream().max((a,b)->a-b);
    }    

}

Java自定义注解

 

注解的作用

 

元注解

 

public class MetaAnnotation{
    public void test(){

    }
}
@MyAnnotation
// target用来声明当前自定义注解适合用于什么地方,方法,变量,包
@Target(ElementType.METHOD, ElementType.TYPE)
// 注解适用于什么环境,源码级别,类级别,还是运行时
@Retention(RetentionPolicy.CLASS)
// 表示该注解是否显示在javadoc中
@Decumented
// 表示该注解是否能够继承
@Inherited
@interface MyAnnotation{
    
}

 

posted @ 2020-12-31 11:16  BigBender  阅读(70)  评论(0编辑  收藏  举报