java知识点
JavaGirl_亚兰
hello程序媛
展开
-
对象的可替换性
原创 2017-03-02 15:59:37 · 742 阅读 · 0 评论 -
Java NumberFormat 计算百分数
NumberFormat nt = NumberFormat.getPercentInstance(); //设置百分数保留0位小数 nt.setMinimumFractionDigits(0); nt.format(20/ 30); //结果--67%数值格式化getInstance()、getNumberInstance()。返回当前默认语言环境的通用数值格式。 getInstance(Locale)、getNumb...原创 2021-02-25 18:04:25 · 1829 阅读 · 0 评论 -
ThreadLocal使用--缓存
在微服务中需要经常查询一些共用的东西,比如当前登录用户id,不断跨服务查询会消耗性能,使用ThreadLocal缓存起来使用更方便//存:private ThreadLocal<String> currentUser= new ThreadLocal<>();currentUser.set(userId);//使用:userId=currentUser.get();//清除:currentUser.remove();因为每个线程可能携带不同的user.原创 2020-05-25 17:14:51 · 873 阅读 · 0 评论 -
list stream 取两个List的交集 并集 差集
字符串list:public static void main(String[] args) { List<String> list1 = new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add("3333"); List<String> list2 ...原创 2019-12-04 13:58:28 · 14209 阅读 · 0 评论 -
list stream按照对象多个属性进行排序
/*** 按照年龄正序*/personList.stream().sorted(Comparator.comparing(Person::getAge)).collect(Collectors.toList());/*** 按照年龄倒序 reversed()*/ personList.stream().sorted(Comparator.comparing(Person::g...原创 2019-11-12 16:25:26 · 9585 阅读 · 0 评论 -
list stream按对象多个属性对集合进行分组
Map<String,List<E>> result=list.stream.collect(Collectors.groupingBy(e -> e.getName() + e.getAge()));原创 2019-11-11 14:57:33 · 11168 阅读 · 0 评论 -
list.stream().mapToDouble求最大、最小、和、平均值
求数字最大、最小、和、平均值list.stream().mapToDouble(User::getAge).sum()//和list.stream().mapToDouble(User::getAge).max()//最大list.stream().mapToDouble(User::getAge).min()//最小list.stream().mapToDouble(User::ge...原创 2019-10-11 18:33:49 · 22540 阅读 · 2 评论 -
list.stream distinct列表去重
//去重后数量List<Object> result= ObjectList.stream() .distinct() .count();//集合对象去重List<Object> result= ObjectList.stream() .distinct() .collect(Collectors.toList());//所有名字为空的去重集合List...原创 2019-10-09 10:56:13 · 3520 阅读 · 0 评论 -
list.stream.map的使用
抽取对象中所有id的集合List<String> idList = ObjectList.stream.map(Object::getId).collect(Collectors.toList());原创 2019-10-09 10:24:57 · 16690 阅读 · 0 评论 -
list.stream.filter常用方式
在Java8中对集合的操作可以这样操作1.查找集合中的第一个对象Optional<Object> first= ObjectList.stream() .filter(a -> "hanmeimei".equals(a.getUserName())) .findFirst();2.返回符合查询条件的集合//所有名字叫hanmeimei的集合List<O...原创 2019-10-09 10:23:39 · 10008 阅读 · 2 评论 -
== equals()问题
解释:s1和s2都不是通过new关键字创建的字符串,所以这两个引用指向的字符串都不是堆中的,而是在常量池中的“aaa”,编译器优化后,它们是指向同一个在常量池中的“aaa”.s3是通过控制台读取的输入,next()方法返回一个String,这个String应该是在堆中根据输入的字符串创建的。因此s1和s2的引用是相同的,s3的引用指向的是堆根据输入新创建的字符串,和s1,s2指向的常量池中原创 2017-10-09 11:03:32 · 424 阅读 · 0 评论