Java8新特性

2014年3月27日正式推出Java8

重要特性:

Lambda

Nashorn JavaScript

新的日期与时间API

一套简洁的配置文件

从JVM中去除了“永久代”

增强的注解功能


下列代码下载链接: 点击打开链接


一、Lambda

1.参数列表:

2.箭头符号“->”

3.代码块

【代码示例】

public static void main(String[] args) {
        new Action(){
            @Override
            public void execute(String content){
                System.out.println(content);
            }
        }.execute("jdk8之前版本");

        Action login=(String content)->{
            System.out.println(content);
        };
        login.execute("jdk8之lembda语法");
}

    static interface Action{
        void execute(String content);
    }



二、Stream数据流

【Person类】

public class Person {
    public static enum Sex{Male,Female;}
    private String name;
    private Sex gender;
    private int age;
    private double height;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Sex getGender() {
        return gender;
    }

    public void setGender(Sex gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", gender=" + gender +
                ", age=" + age +
                ", height=" + height +
                '}';
    }

    public Person(String name, Sex gender, int age, double height) {
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.height = height;
    }

    public Person() {
    }
}

【代码示例】

    public static void main(String[] args) {
        List<Person> personList =  createPerson();
        Stream<Person> stream= personList.stream();
        stream.forEach(
                p-> System.out.println(p.toString())
                );
    }

    static List<Person> createPerson(){
        List<Person> personList = new ArrayList<>();
        Person p = new Person("milan",Person.Sex.Male,117,1988);
        personList.add(p);
        p = new Person("kaka",Person.Sex.Male,22,1984);
        personList.add(p);
        p = new Person("Inzaghi",Person.Sex.Male,117,1976);
        personList.add(p);
        p = new Person("sheva",Person.Sex.Male,117,1976);
        personList.add(p);

        return personList;
    }


三、过滤器filter

【代码示例】

    public static void main(String[] args) {
        List<Person> personList =  createPerson();
        personList.stream()
                .filter(person -> person.getGender()==Person.Sex.Male)
                .forEach(person -> System.out.println(person));
    }

    static List<Person> createPerson(){
        List<Person> personList = new ArrayList<>();
        Person p = new Person("milan", Person.Sex.Male,117,1988);
        personList.add(p);
        p = new Person("kaka", Person.Sex.Female,22,1984);
        personList.add(p);
        p = new Person("Inzaghi", Person.Sex.Male,43,1976);
        personList.add(p);
        p = new Person("sheva", Person.Sex.Female,40,1976);
        personList.add(p);

        return personList;
    }



四、DoubleStream类

【代码示例】

public static void main(String[] args) {
        List<Person> personList =  createPerson();
        double avgrageHeight = personList.stream()
                .filter(person -> person.getName().indexOf("i")>=0)
                .mapToDouble(person -> person.getHeight())
                .average()
                .getAsDouble();
        System.out.println("包含i的"+avgrageHeight);
    }

    static List<Person> createPerson(){
        List<Person> personList = new ArrayList<>();
        Person p = new Person("milan", Person.Sex.Male,117,1899);
        personList.add(p);
        p = new Person("kaka", Person.Sex.Female,22,1984);
        personList.add(p);
        p = new Person("Inzaghi", Person.Sex.Male,43,1976);
        personList.add(p);
        p = new Person("sheva", Person.Sex.Female,40,1976);
        personList.add(p);

        return personList;
    }


五、LocalDate

【代码示例】

    public static void main(String[] args) {
        LocalDate dateTime = LocalDate.now();
        System.out.println(dateTime.getYear()+"年");
        System.out.println(dateTime.getMonthValue()+"月");
        System.out.println(dateTime.getDayOfMonth()+"日");

    }


六、LocalTime

【代码示例】

    public static void main(String[] args) {
        LocalTime localTime = LocalTime.now();
        System.out.println(localTime.getHour()+"时");
        System.out.println(localTime.getMinute()+"分");
        System.out.println(localTime.getSecond()+"秒");
        System.out.println(localTime.toString());
    }



七、LocalDateTime

【代码示例】

     public static void main(String[] args) {
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime.getYear()+"年");
        System.out.println(localDateTime.getMonthValue()+"月");
        System.out.println(localDateTime.getDayOfMonth()+"日");
        System.out.println(localDateTime.getHour()+"时");
        System.out.println(localDateTime.getMinute()+"分");
        System.out.println(localDateTime.getSecond()+"秒");
        System.out.println(localDateTime.toString());
    }



八、DateTimeFormatter

【代码示例】

    public static void main(String[] args) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss");
        LocalDateTime date = LocalDateTime.parse("2016-11-11:21:42:22",formatter);
        System.out.println(date.toString());
    }




九、ZonedDateTime

【代码示例】

    public static void main(String[] args) {
        ZonedDateTime zonedDateTime = ZonedDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy:HH:mm:ss");
        System.out.println(zonedDateTime.format(formatter));
    }




Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值