基本类型对应的包装类
基本类型 包装类型 扩展方法
String String
char Character boolean is = Character.isDigit(char c);c是否为数字/boolean is = Character.isLetter(char c);c是否为字符(不区分大小写)
byte Byte
short Short
int Integer int val = Integer.parseInt(String str);
long Long
float Float float val = Float.parseFloat(String str);
double Double
boolean Blooean
包装类优势
提供了一系列针对该类型的函数
包装类型的默认值都为null
自动装拆箱
类型转换
- 字符串转为其他类型
//基本类型
xxx val = Xxx.parseXxx(String arg);
//引用(包装)类型
Xxx val = Xxx.valueOf(String arg);
- 其他类型转为字符串
String val = String.valueOf(Xxx/xxx arg);
字符串函数
//字符串创建方法
String a = "henry" //常量池
String b = "henry"
String c = new String("herny");
String c = new String("herny").intern();
//字符串拼接
String str = "aa"+"bb"+1 //+的缺陷
String str = MessageFormat.format("..{0}... {N}",arg1,...argN); //所有元素已知
//StringBuilder&StringBuffer(线程安全)
StringBuilder builder = new StringBuilder();
builder.append(xxx arg)
//String str = ...; 引用类型方法
int len = str.length();
String sub = str.trim(); //去除空格
String rtn = str.replace(;
String rtn = str.replaceAll(String regex,String destStr));
String rtn = str.replaceFirst();
char c = str.charAt(int index);
boolean equal = str.equals(String other);
boolean equal = str.equalsIgnoreCase(String other); //忽略大小写
int index = str.indexOf(String/char arg);
int index = str.lastIndexOf(String/char arg);
String sub = str.substring(int beginIndex[,int endIndex]);//截取,前包后不包
String[] subs = str.split(String/char regex); //拆分
int whoBig = str.compareTo(String other);
String low = str.toLowerCase;
String up = str.toUpperCase;
byte[]bytes = str.getBytes(String charSetName);
//流||加密算法
//字符集:utf-8 gb2312 gbk iso-8859-1
日期函数
Date
Date date = new Date([long datatime])
long datatime = date.getTime();
SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar Calendar c = Calendar.getInstance();
c.setTimeInMillis(long datetime);
c.setTimeInMillis(Date date);
c.set(Calendar.XXX,int val);
int datePart = c.get(Calendar.YEAR/MONTH/DATE)
数学函数
Random rand = new Random();
int randNum = rand.nextInt(int seed); //0~seed-1;
double randDouble = Math.random(); //0-1小数
double val = Math.ceil(double arg);
double val = Math.floor(double arg);
double val = Math.round(double arg); //将小数点第一位四舍五入到整数
double val = Math.pow(double bot,double power); //幂运算
double val = Math.sqrt(double arg); //平方根
double val = Math.abs(double arg); //绝对值
枚举
public enum EnumName{FINAL1,....}
EnumName.FINAL1,...
//枚举的最佳搭档 为switch...case
public enum Cal{
ADD,MINUS,MULTIPLY,DIVIDE
}
public static Integer cal (Cal cal,int a, int b){
switch (cal){
case ADD:
return a+b;
case MINUS:
return a-b;
case MULTIPLY:
return a*b;
case DIVIDE:
return a/b;
}
}
正则表达式
//基本表达式
一个数字[?-?]:[0-9] [^?-??-?]:[0-47-9] [不在]指定范围的一个符号
一个字母 [a-z]
一个汉字[\u4e00-\u9fa5]
[] //指定范围
^ //非
| //或 一个指定域名(com|cn|org|edu)
() //组合
\d //<=>[0-9]
\D //<=>[^0-9]
\w //[0-9a-zA-Z_]
\W //[^0-9a-zA-Z_]
\s //\r \n
\S //非空符号
. //任意符号
{min,max} //表示前一个符号或一个组合最小重复min次,不超过max次 \d{6,18}
{FIX} //\d{6}
{,MAX} //最多重复max次
{MIN,} //最少重复min次
? \\{0,1}
+ \\{1,}
* \\{0,}
//{{{...},{...}},{{...},{...}},...} //"{.*?}"
//.*默认宽匹配,.*?窄匹配
//java正则
java.util.regex.Pattern
java.tuil.regex.Matcher
Pattern p=Pattern.compile(String regex);
Matcher m=p.matcher(String src);
//验证
boolean matched=m.matches();
//查找
boolean found=m.find([int pos]);
//替换replace
String rtn=m.replaceFirst(String replacement);
src.replaceFirst(String regex,String replacement);
//匹配
boolean canMatches = maths(String regex)
//拆分
//分组提取