- String的装箱拆箱
String str1 ="abc"; String str2 ="abc"; System.out.println(str2==str1); //输出为 true System.out.println(str2.equals(str1)); //输出为 true String str3 =new String("abc"); String str4 =new String("abc"); System.out.println(str3==str4); //输出为 false System.out.println(str3.equals(str4)); //输出为 true
String d ="2"; 2 String e ="23"; 3 e = e.substring(0, 1); 4 System.out.println(e.equals(d)); //输出为 true 5 System.out.println(e==d); //输出为 false
public enum Data
{
INTEGER("Integer"), STRING("String"), LONG("Long"), BYTE("Byte");
private String type;
private Data(String type)
{
this.type = type;
}
}
特性:不可继承的final类,构造方法只能是私有构造方法
继承的Enum类的方法
(1) ordinal()方法: 返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。
Color.RED.ordinal(); //返回结果:0
Color.BLUE.ordinal(); //返回结果:1
(2) compareTo()方法: 比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差。当然,前提是两个枚举值必须属于同一个枚举类,否则会抛出ClassCastException()异常。
Color.RED.compareTo(Color.BLUE); //返回结果 -1
(3) values()方法: 静态方法,返回一个包含全部枚举值的数组。
Color[] colors=Color.values();
for(Color c:colors){
System.out.print(c+",");
}//返回结果:RED,BLUE,BLACK YELLOW,GREEN,
(4) toString()方法: 返回枚举常量的名称。
Color c=Color.RED;
System.out.println(c);//返回结果: RED
(5) valueOf()方法:得到枚举常量。
Color.valueOf("BLUE"); //返回结果: Color.BLUE
(6) equals()方法: 比较两个枚举类对象的引用。
可根据valueOf和switch得到所想要的枚举值
【java常用类】
String没有Insert方法,也没有delete方法虽然和subString很像,字符串常量是编译器可以设置成共享的【对项目来讲并没有什么用处】
RunTime类
Windows下调用系统命令
Process proc =Runtime.getRuntime().exec(cmd);
Linux下调用系统命令就要改成下面的格式
Process proc =Runtime.getRuntime().exec(cmd);
Windows下调用系统命令并弹出命令行窗口
Process proc =Runtime.getRuntime().exec(cmd);
Linux下调用系统命令并弹出终端窗口就要改成下面的格式
Process proc =Runtime.getRuntime().exec(cmd);
还有要设置调用程序的工作目录就要
得到的freeMemory是根本就没法通过创建的对象大小具体算出,只能通过前后相减得到
Runtime run = Runtime.getRuntime() ; // 取得Runtime类的实例化对象
Process p = null ; // 定义进程变量
try{
p = run.exec("notepad.exe") ; // 调用本机程序,此方法需要异常处理
}catch(Exception e){
e.printStackTrace() ; // 打印异常信息
// System.out.println(e) ;
}
try{
Thread.sleep(5000) ; // 让此线程存活5秒
}catch(Exception e){
}
p.destroy() ; // 结束此进程
}
java国际化
Locale zhLoc = new Locale("zh","CN") ; // 表示中国地区 Locale enLoc = new Locale("en","US") ; // 表示美国地区 Locale frLoc = new Locale("fr","FR") ; // 表示法国地区 // 找到中文的属性文件,需要指定中文的Locale对象 ResourceBundle zhrb = ResourceBundle.getBundle("Message",zhLoc) ; // 找到英文的属性文件,需要指定英文的Locale对象 ResourceBundle enrb = ResourceBundle.getBundle("Message",enLoc) ; // 找到法文的属性文件,需要指定法文的Locale对象 ResourceBundle frrb = ResourceBundle.getBundle("Message",frLoc) ; // 依次读取各个属性文件的内容,通过键值读取,此时的键值名称统一为info String str1 = zhrb.getString("info") ; String str2 = enrb.getString("info") ; String str3 = frrb.getString("info") ; System.out.println("中文:" + MessageFormat.format(str1,"李兴华")) ; System.out.println("英语:" + MessageFormat.format(str2,"LiXingHua")) ; System.out.println("法语:" + MessageFormat.format(str3,"LiXingHua")) ;
国际化获得配置文件的,不使用Properties
Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。【月份要+1】
clone
class Employee implements Cloneable
{
public Object clone() throws CloneNotSupportedException
{
Employee cloned = (Employee) super.clone();
cloned.hireDay = (Date) hireDay.clone()
return cloned;
}
}
正则表达式:
字符串的split是根据正则表达式去分割,而Pattern执行compile实例化正则表达式,然后spilt所需要的字符串
得到的字符串可根据Arrays工具类的equals方法判断数组是否相等!