Java匹马行天之JavaSE核心技术——工具类
一、Object类
常用的方法:
package Practice_Anything;
public class String_demo {
public static void main(String[] args) {
String s = new String("你好");
String s1 = new String("世界");
Class<?> c = s.getClass();//返回对象的类类型
System.out.println(c);
boolean flag = s.equals(s1);//比较两个对象是否相等
System.out.println(flag);
int hash = s.hashCode();//返回该对象的哈希值
int hash1 = s1.hashCode();
System.out.println(hash+" "+hash1);
String s2 = s.toString();//以字符串形式返回对象的文本信息
String s3 = s1.toString();
System.out.println(s2+s3);
}
}
运行结果:
class java.lang.String
false
652829 649718
你好世界
二、包装类
装箱与拆箱
以Byte为例
package Practice_Anything;
public class Box_Demo {
public static void main(String[] args) {
byte b =1;//基本数据类型
System.out.println(b);
Byte b1 = new Byte(b);//包装类的对象
System.out.println(b1);
Byte b2 = b;//自动装箱,把基本数据类型转为对象
System.out.println(b2);
byte b3 = new Byte(b);//自动拆箱,把对象转为基本数据类型
System.out.println(b3);
}
}
运行结果:
1
1
1
1
三、Number类
以Integer为例
常用的方法:
package Practice_Anything;
public class Integer_Demo {
public static void main(String[] args) {
Integer i = new Integer(2);//构造一个新分配的 Integer 对象,它表示指定的 int 值。
System.out.println(i);
Integer i2 = new Integer("3");//构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
System.out.println(i2);
//如果该 Integer 等于 Integer 参数,则返回 0 值;如果该 Integer 在数字上小于 Integer 参数,则返回小于 0 的值;
//如果 Integer 在数字上大于 Integer 参数,则返回大于 0 的值(有符号的比较)。
int i3 = i.compareTo(i2);
System.out.println(i3);
String s = "5";
Integer i4 = Integer.decode(s);//将 String 解码为 Integer。
System.out.println(i4);
Integer i5 = Integer.valueOf(6);//返回一个表示指定的 int 值的 Integer 实例。
System.out.println(i5);
Integer i6 = Integer.valueOf(s);//返回保存指定的 String 的值的 Integer 对象。
System.out.println(i6);
String s1 = i.toString();//返回一个表示该 Integer 值的 String 对象。
System.out.println(s1);
String s2 =Integer.toString(i);//返回一个表示指定整数的 String 对象。
System.out.println(s2);
}
}
运行结果:
2
3
-1
5
6
5
2
2
四、Character类
常用的方法:
package Practice_Anything;
public class Character_Demo {
public static void main(String[] args) {
Character c = new Character('d');//构造方法
System.out.println(c);
char c1 = c.charValue();//返回此 Character 对象的值。
System.out.println(c);
char c2 = Character.valueOf(c);//返回一个表示指定 char 值的 Character 实例
System.out.println(c);
String s = c.toString();//返回表示此 Character 值的 String 对象。
System.out.println(s);
boolean b = Character.isDigit(c);//判断指定字符是否为数字。
System.out.println(b);
boolean b1 = Character.isLetter(c);//判断指定字符是否为字母
System.out.println(b1);
boolean b2 = Character.isUpperCase(c);//判断是否为大写字母
System.out.println(b2);
boolean b3 = Character.isLowerCase(c);//判断是否为小写字母
System.out.println(b3);
boolean b4 = Character.isWhitespace(c);//判断是否为空格
System.out.println(b4);
char c3 = Character.toUpperCase(c);//转为大写字母
System.out.println(c3);
char c4 = Character.toLowerCase(c3);//转为小写字母
System.out.println(c4);运行结果:
d
d
d
d
false
true
false
true
false
D
d
}
}
五、String类
常用方法
package Practice_Anything;
public class String_Demod {
public static void main(String[] args) {
String s = new String("ZhangYuxian");
int i = s.length();//返回字符串的长度;
System.out.println("s的长度:"+i);
char c = s.charAt(5);//返回指定索引处的字符;
System.out.println("索引值为5的字母:"+c);
boolean flag = s.contains("xian");//判断字符串中是否包含指定的字符序列
System.out.println("字符串s中是否存在xian:"+flag);
boolean flag1 = s.startsWith("Z");//判断字符串是否以指定的前缀开始
System.out.println("s字符串是否以Z开始:"+flag1);
boolean flag2 = s.endsWith("n");//判断字符串是否以指定的后缀结束
System.out.println("s字符串是否以n结束:"+flag2);
int i1 = s.indexOf('Y');//返回指定字符在字符串中第一次出现的索引
System.out.println("字符Y在字符串s中第一次出现的索引:"+i1);
int i2 = s.lastIndexOf('n');//返回指定字符在字符串中最后一次出现的索引
System.out.println("字符n在字符串s中最后一次出现的索引:"+i2);
boolean flag3 = s.isEmpty();// 当且仅当 length() 为 0 时返回 true。
System.out.println("字符串s的长度是否为零:"+flag3);
//把字符串中的old字符替换为new字符,然后返回一个新字符串;
String s1 = s.replace('x','t');
System.out.println("把s字符串中的x替换为t后的新字符串为:"+s1);
String[] s2 = s.split("n");//根据指定的规则拆分字符串,返回字符串数组;
System.out.print("用指定的n拆分字符串s,得到字符串数组:");
for(String s3:s2){
System.out.print(s3+" ");
}
System.out.println();
String s3 = s.substring(5);//按照指定的索引截取字符串
System.out.println("从字符串s中索引为5的字符截取生成新的字符串:"+s3);
String s4 = s.substring(0,5);//按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;
System.out.println("从字符串s中截取索引值[0,5)的字符组成新的字符串"+s4);
String s5 = s.toLowerCase();//把字符串的英文字母全部转为小写;
System.out.println("把字符串s中的英文字母全部转为小写:"+s5);
String s6 = s.toUpperCase();//把字符串的英文字母全部转为大写;
System.out.println("把字符串s中的英文字母全部转为大写:"+s6);
String s7 =" Z h a ng ";
System.out.println("原始状态:"+s7);
String s8 = s7.trim();//清除字符串前后的空白字符;
System.out.println("清除字符串前后空格后的状态:"+s8);
char[] chars = {'Z','y','x'};
String s9 = String.valueOf(chars);//把指定类型的数据转为字符串类型;
System.out.println("把char类型的数组转化为字符串类型:"+s9);
String s10 = s.toString();// 返回此对象本身(它已经是一个字符串!)。
System.out.println(s10);
char[] s11 = s.toCharArray();//把字符串转为字符数组;
System.out.print("遍历字符数组:");
for(char c1:s11){
System.out.print(c1+" ");
}
}
}
运行结果:
s的长度:11
索引值为5的字母:Y
字符串s中是否存在xian:true
s字符串是否以Z开始:true
s字符串是否以n结束:true
字符Y在字符串s中第一次出现的索引:5
字符n在字符串s中最后一次出现的索引:10
字符串s的长度是否为零:false
把s字符串中的x替换为t后的新字符串为:ZhangYutian
用指定的n拆分字符串s,得到字符串数组:Zha gYuxia
从字符串s中索引为5的字符截取生成新的字符串:Yuxian
从字符串s中截取索引值[0,5)的字符组成新的字符串Zhang
把字符串s中的英文字母全部转为小写:zhangyuxian
把字符串s中的英文字母全部转为大写:ZHANGYUXIAN
原始状态: Z h a ng <strong>
清</strong>除字符串前后空格后的状态:Z h a ng
把char类型的数组转化为字符串类型:Zyx
ZhangYuxian
遍历字符数组:Z h a n g Y u x i a n
六、日期类
Date类
Calendar类
该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为protected。
与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance();
Format类
DateFormat类
DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用这些风格的更多细节和示例。