ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jdk10新特性--卷?

2022-04-28 13:33:43  阅读:238  来源: 互联网

标签:java -- list System 特性 jdk10 util println import


var 局部类型推断

package jdk10;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Stream;

/**
 * 局部类型推断
 * 仅限带有初始化的程序的局部变量。
 * for 循环或者增强for 循环中。
 * for 循环中的声明
 */
public class VarDemo {
    public static void main(String[] args) {
        var hashMap = new HashMap<String, Object>();
        hashMap.put("name", "fly");
        var str = "hello java 10";
        var stream = Stream.of(1, 2);
        var list = new ArrayList<String>();

        var l = List.of(1, 2, 3);
        for (int i = 0; i < l.size(); i++) {
            System.out.println(l.get(i));
        }
        for (Integer integer : l) {
            System.out.println(integer);
        }
    }
}

Unicode 语言标签扩展

package jdk10;

import java.util.Arrays;
import java.util.Calendar;
import java.util.Currency;
import java.util.Locale;

/**
 * Unicode 语言标签扩展
 */
public class UnicodeDemo {
    public static void main(String[] args) {
        Currency chinaCurrency = Currency.getInstance(Locale.CHINA);
        Currency usCurrency = Currency.getInstance(Locale.US);
        System.out.println("本地货币:" + chinaCurrency); // 本地货币:CNY
        System.out.println("US.货币:" + usCurrency); // US.货币:USD

        String displayName = Locale.getDefault().getDisplayName();
        String displayCountry = Locale.getDefault().getDisplayCountry();
        String displayLanguage = Locale.getDefault().getDisplayLanguage();
        System.out.println("本地名称:" + displayName); //本地名称:中文 (简体,中国)
        System.out.println("本地语言:" + displayLanguage);//本地语言:中文
        System.out.println("本地国家:" + displayCountry);//本地国家:中国

        int firstDayOfWeek = Calendar.getInstance().getFirstDayOfWeek();
        System.out.println("本地每周第一天:" + firstDayOfWeek);//本地每周第一天:1
    }
}

Collection

package jdk10;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;

public class CollectionDemo {
    // 通过 Collection.copyOf 复制得到一个不可改变集合,即使原来的集合元素发生了变化也不会有影响
    @Test
    public void copyof(){
        var list = new ArrayList<String>();
        list.add("name");
        list.add("age");
        // 不可改变集合
        List<String> copyList = List.copyOf(list);
        list.add("copy");
        System.out.println(copyList); //[name, age]
    }

    // 获取到 optional 中的 value , 但是如果 value 为 null ,就会抛出异常
    @Test
    public void orElseThrow(){
        String str = null;
        String s = Optional.of(str).orElseThrow();
    }

    // Collectors 可以直接指定收集的集合为不可变集合
    @Test
    public void toUnmodifiable(){
        var list = new ArrayList<String>();
        list.add("name");
        list.add("age");
        List<String> list1 = list.stream().collect(Collectors.toUnmodifiableList());
        Set<String> set = list.stream().collect(Collectors.toUnmodifiableSet());
    }
}

标签:java,--,list,System,特性,jdk10,util,println,import
来源: https://www.cnblogs.com/fly-book/p/16202485.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有