Java8综合练习

这篇博客详细探讨了Java8的新特性,包括Lambda表达式、Stream API的使用,以及日期时间API的改进。通过实例代码,深入解析了如何在实际项目中应用这些新特性,提升代码的简洁性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.yy.test;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

public class Test {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");
/*        Collections.sort(names, new Comparator<String>() {//java以前老版本的写法
            @Override
            public int compare(String a, String b) {
                return b.compareTo(a);
            }
        });*/
        Collections.sort(names, (a,b) -> {
            return b.compareTo(a);
        });
        for(String name:names){
            System.out.println(name);
        }
        
        int num = 1;
        //num = num+1;
        Converter<String, Integer> a = (from) -> Integer.valueOf(from);
        Integer m=a.convert("123");
        System.out.println(m);
        
        
        Converter<String, Integer> converter = Integer::valueOf;//这个是静态方式导入 
        Integer n=converter.convert("1231");
        System.out.println(n);
        
		Converter<Integer, String> stringConverter = (from) -> String
				.valueOf(from + num);
		String str = stringConverter.convert(2);
		System.out.println(str);// 输出3
		
		
		List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl");
	    List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
	    System.out.println(filtered);// 输出3
		Integer value1 = null;
		Integer value2 = new Integer(10);
		// Optional.ofNullable - 允许传递为 null 参数
		Optional<Integer> q = Optional.ofNullable(value1);
		// Optional.of - 如果传递的参数是 null,抛出异常 NullPointerException
		Optional<Integer> b = Optional.of(value2);
		System.out.println(sum(q, b));
	    }

	    public static Integer sum(Optional<Integer> q, Optional<Integer> b) {
	        // Optional.isPresent - 判断值是否存在
	        System.out.println("第一个参数值存在: " + q.isPresent());
	        System.out.println("第二个参数值存在: " + b.isPresent());
	        // Optional.orElse - 如果值存在,返回它,否则返回默认值
	        Integer value1 = q.orElse(new Integer(0));
	        //Optional.get - 获取值,值需要存在
	        Integer value2 = b.get();
	        return value1 + value2;
	    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值