Java语言特性
Leon-Zheng
未来已来
展开
-
详细整理ArrayList、Hashtable、Vector、HashSet、HashMap初始大小、加载因子、扩容方式
首先,这三个概念说下。初始大小,就是创建时可容纳的默认元素个数;加载因子,表示某个阀值,用0~1之间的小数来表示,当已有元素占比达到这个阀值后,底层将进行扩容操作;扩容方式,即指定每次扩容后的大小的规则,比如翻倍等。Class初始大小加载因子扩容倍数底层实现Code是否线程安全同步方式ArrayList10原创 2017-04-18 14:40:30 · 3910 阅读 · 5 评论 -
Java 保留2位小数点(2种方式)
今天群里有人在处理小数点方面出了点问题,趁机回顾下保留小数点的方式,这里介绍2种,利用BigDecimal类及DecimalFormat类。package com.huayu.java91up;import java.math.BigDecimal;import java.text.DecimalFormat;/** * Create by zxb on 2017/4/17 */原创 2017-04-17 17:14:36 · 11318 阅读 · 0 评论 -
Collections.sort 依据多个字段排序
今天有个需求,需要根据用户报名的课程进行排序。排序的规则包含了4个方面:有直播优先;当前专题优先;有直播的,按直播时间正序;无直播的,按最后学习时间倒序。在使用Collections.sort,最后写出来的效果,利用多个字段,对列表进行排序Collections.sort(result, new Comparator() { @Override public int compa原创 2017-11-01 22:28:00 · 17555 阅读 · 2 评论 -
Java 简单判断限定字符的正则
判断答案是否是ABCD的正则:public class Test { public static void main(String[] args){ Pattern pattern = Pattern.compile("^[A-D]+$"); System.out.println(pattern.matcher("A").find());原创 2017-08-10 22:14:13 · 483 阅读 · 0 评论 -
集合操作retainAll和removeAll
集合操作中有retainAll,也有removeAll,第一眼往往容易混淆,来看下JDK定义,(1)retainAllboolean retainAll(Collection c)仅在列表中保留指定 collection 中所包含的元素(可选操作)。换句话说,该方法从列表中移除未包含在指定 collection 中的所有元素。 指定者:接口 Collection 中的 ret原创 2017-05-19 16:32:36 · 6896 阅读 · 0 评论 -
Java ArrayList分页
今天遇到一个问题,需要把数据先取到内存中,再进行分页操作返回指定页码的数据。记录一下通过subList方法来返回数据:import java.util.ArrayList;import java.util.List;/** * Create by zxb on 2017/5/10 */public class SubListTest { public static voi原创 2017-05-10 15:12:53 · 2257 阅读 · 0 评论 -
Java Modifier类 判断修饰符
今天创建动态代理的时候,遇到一个final修饰的类,结果程序就抛出异常了:Cannot subclass final class com.mchange.v2.c3p0.ComboPooledDataSource,于是想到要过滤掉这种final的类。想要判断一个类是不是final的,在Class类里没找到,原来在JDK里提供了Modifier工具类来帮助我们判断修饰情况。具体如下:原创 2017-05-06 17:46:57 · 2891 阅读 · 0 评论 -
Java 默认访问控制符
众所周知,Java的访问控制符,有public、protected、默认、private四种。对于我而言,默认类型是最容易混淆的。虽然知道默认类型的访问权限排第3,但是有时候和protected还是会混淆。这里做个小小的梳理。default与protected在大多数的资料中显示的是 同包子类protected√√默认√×原创 2017-04-16 16:18:55 · 4438 阅读 · 0 评论 -
instanceof、isInstance、isAssignableFrom的用法介绍
(1)instanceofinstanceof 是 java的关键字之一,用来判断是否是某个的实例对象。通常格式是:"我" instanceof " 你" 。"我" 是一种实例类型,你是 某个类/接口的名称。例子:Class A {}A a = new A();System.out.println(a instanceof A); //true原创 2017-04-15 17:56:30 · 613 阅读 · 0 评论 -
Java String intern方法介绍
今天看到有线程同步的代码直接使用了String对象作为锁对象,心想可能会出问题,因为String对象可能表面上内容一样,但是实际上却不是同一个对象地址。Java字符串比较 == 判断是地址是否相等,equals判断是内容是否相等。但是String类有个本地方法intern,可以让不同对象地址的字符串,使用==时返回true,来看下定义:方法返回字符串对象的标准表示。重点在When段原创 2017-04-18 15:17:29 · 480 阅读 · 0 评论 -
byte/short相加得到是int
举个例子public class Test { public static void main(String[] args) { short a, b, c; // line 1 a = 1; // line 2 b = 2; // line 3 a += 2; // line 4 a = a原创 2017-12-11 20:34:19 · 1399 阅读 · 0 评论