字符串的常⽤API
常⽤API⼆
⼀、Object
  成员⽅法:
    1、toString(): 重写前,调⽤object类中的,打印的是全类名@16进制的地址值。重写后打印具体对象的值
    2、equals():重写前⽐较的是地址值重写后打印的是具体属性值
    3、获取字节码对象3种⽅式(三个获取的值相等)
      A:通过Object类中getClass()⽅法调⽤,Teacher t = new Teacher();t.getclass();
      B:类名点调⽤ Teacher.class();
      C:通过Class类的静态⽅法format()类获取 Class.forname("全类名");
例⼦:
package Apiss;
public class Zi {
public static void main(String[] args) throws ClassNotFoundException {
//创建⽼师对象
Teacher t = new Teacher();
//⽤对象调⽤的⽅法获取字节码
Class cl = t.getClass();
//打印字节码
System.out.println(cl);
//⽤Teacher类点的⽅法获取字节码
Class cl2 = Teacher.class;
System.out.println(cl2);
//⽤forName()的静态⽅法获取字节码
Class cl3 = Class.forName("字节码.Teacher");
System.out.println(cl3==cl2);
System.out.println(cl==cl2);
}
}
//创建Teacher类
class Teacher{
String name;
int age;
}
结果:
⼆、System
  A:static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :
    从src源数组的srcPos索引开始,复制length个元素
    从destPost位置开始将这些元素放⾄到dest数组中
例⼦:
package Apiss;
public class Arraycopyss {
public static void main(String[] args) {
//创建源数组
int[] arr1 = {1,2,3,4,5};
//创建⽬标数组
int[] arr2 = new int[5];
//将源数组元素复制到⽬标数组中
System.arraycopy(arr1, 0, arr2, 0, 5);
//遍历数组
for(int i=0;i<arr2.length;i++){
System.out.print(arr2[i]+" ");
}
}
}
结果:
  B: it(int i);//终⽌当前虚拟机
  C: System.currentTimeMillis();获取当前系统毫秒时间
例⼦:
package Apiss;
public class Systemss {
public static void main(String[] args) {
// 创建起始时间
long start = System.currentTimeMillis();
// 循环输出数
for (int i = 0; i < 1000; i++) {
System.out.println(i);
// 判断第100个数时
if (i == 100) {
// 记录结束时间
long end = System.currentTimeMillis();
// 打印时间差
System.out.println(end - start);
// 终⽌当前虚拟机
}
}
}
}
结果:
三、Date
  1、构造⽅法
    Date(); 返回的就是从1970-1-1 8:00:00到当前的时间毫秒值    Date(毫秒值); 返回的就是具体传⼊毫秒值⽇期对象
  2、成员⽅法
    setTime();
    setTime();
例⼦:
package Apiss;
import java.util.Date;
public class Datess {
public static void main(String[] args) {
//创建⽇期对象
Date d = new Date();
//打印⽇期
System.out.LocaleString());
//获取当前时间的毫秒值
System.out.Time());//1510149157189
//设置时间毫秒值,据1970-1-1 8:00:00的毫秒值
d.setTime(1510149157189L);
System.out.LocaleString());
System.out.println("1970年⾄今"+1510149335204L/1000/60/60/24/365+"年");
}
}
结果:
四、SimpleDateFormat
  1、构造⽅法:SimpleDateFormat() :使⽤默认的模式进⾏对象的构建
        SimpleDateFormat(String pattern) :使⽤的指定的模式进⾏对象的构建    例⼦:SimpleDateFormat("yyyy年MM⽉dd⽇ HH:mm:ss");
  2、成员⽅法:String format(Date d);将⽇期对象转换成⼀个字符串
        Date parse(String s); 将字符串转成⼀个⽇期对象
例⼦:
package Apiss;
ParseException;
SimpleDateFormat;
import java.util.Date;
public class Formate {
public static void main(String[] args) throws ParseException {
//指定⼀个⽇期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM⽉dd⽇ HH:mm:ss");
Date date = new Date();
//格式化⽇期,将⽇期对象转化为⼀个字符串
String s = sdf.format(date);
string转date的方法
System.out.println(s);
//将字符串解析为⼀个⽇期对象
Date d = sdf.parse("2017年11⽉08⽇ 10:00:00");
System.out.LocaleString());
}
}
结果:
计算出⽣到现在的⼩时案例:
package Apiss;
ParseException;
SimpleDateFormat;
import java.util.Date;
public class BirthDays {
public static void main(String[] args) throws ParseException {
//写⼊出⽣,现在的时间
String birthday = "2000-11-26";
String now = "2017-11-08";
//设置⽇期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//将两个字符串转化成⽇期对象
Date d1 = sdf.parse(birthday);
Date d2 = sdf.parse(now);
//获取⽇期对应的毫秒时间
long l = d1.getTime();
long ll = d2.getTime();
//计算出⽣到现在的⼩时
System.out.println("出⽣到现在经过了"+(ll-l)/1000/60/60/24+"个⼩时");
}
}
结果:
五、Calendar⽇历类
1、static Calendar getInstance();使⽤默认时区和语⾔环境获得⼀个⽇历
Calendar c = Instance();//返回当前时间
2、获取get();
3、修改set();
4、添加add();
例⼦:
package Apiss;
ParseException;
SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class GetTimes {
public static void main(String[] args) throws ParseException {
// 给⼀个时间字符串
String s = "2017-11-08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 将字符创转成⽇期对象,获取从1970年1⽉1⽇⾄今的毫秒值
Date d = sdf.parse(s);
// 创建⽇历对象
Calendar c = Instance();
// 将毫秒值设置到⽇历对象
c.setTime(d);
/
/ 获取年
int year = c.get(Calendar.YEAR);
// 获取⽉(记录⽉的索引从0开始)
int month = c.get(Calendar.MONTH) + 1;
// 获取⽇
int day = c.get(Calendar.DAY_OF_MONTH);
// 今天是⼀年中的第⼏天
int dayOfYear = c.get(Calendar.DAY_OF_YEAR);
System.out.println(s + "是" + year + "年。" + month + "⽉。" + day + "⽇。是这⼀年中的第:" + dayOfYear + "天");
// 获取周
int week = c.get(Calendar.DAY_OF_WEEK);
System.out.println(getWeek(week));
}
private static String getWeek(int week) {
String[] arr = { "", "周⽇", "周⼀", "周⼆", "周三", "周四", "周五", "周六" };
return arr[week];
}
}
结果:
六、String
  1、构造⽅法:
    String(String s);将⼀个字符串构建成⼀个字符串对象
    String(char[] arr);将⼀个字符数组构建成⼀个字符串对象
    String(char[] arr,int index,int count);将⼀个字符数组截取出来构建成⼀个字符串对象
  2、字符串创建对象赋值和直接赋值的区别
    创建对象赋值记录的是堆内存的地址值
    直接赋值记录的是⽅法区中的常量池的地址值
    ==号:
    既可以⽐较基本数据类型,也可以⽐较引⽤数据类型
    ⽐较基本数据类型⽐较的是具体的值
    ⽐较引⽤数据类型⽐较的是地址值
  3、判断功能
    boolean equals(String s); 判断两个字符串是否相等,区分⼤⼩写
    boolean equalsIgnoreCase(String s); 判断两个字符串是否相等,不区分⼤⼩写
    boolean startsWith(String s); 判断⼀个字符串是否以传⼊的字符串为开头
    boolean endsWith(String s); 判断⼀个字符串是否以传⼊的字符串为结尾
  4、获取功能
    int length(); 获取⼀个字符串的长度
    char charAt(int index); 根据指定索引获取对应字符
    int indexOf(String s); 获取传⼊的s这个字符串在当前字符串中第⼀次出现的索引位置
    String substring(int index); 将指定索引开始的字符串进⾏截取。默认截取到字符串的末尾    String substring(int start,int end); 将开始索引到结束索引的部分截取出来。包含头不包含尾
例⼦:
public static void main(String[] args) {
//将⼀个字符串构建成⼀个字符串对象
String s = new String("Java");
System.out.println("字符串s:"+s);
String s1 = new String("helloworld");
System.out.println("字符串s1:"+s1);
char[] chs = {'j','a','v','a'};
//将⼀个字符数组构建成⼀个字符串对象
String s2 = new String(chs);
System.out.println("字符串s2:"+s2);
//将⼀个字符数组截取出来构建成⼀个字符串对象
String s3 = new String(chs,1,2);
System.out.println("字符串s3:"+s3);
//s3字符串的长度
System.out.println("s3字符串的长度:"+s3.length());
//获取索引为2的元素
System.out.println("s2索引为2的元素:"+s2.charAt(2));
//获取e第⼀次出现的索引
System.out.println("e第⼀次出现的索引:"+s1.indexOf("e"));
//截取字符串
System.out.println("s1中从索引为2开始往后的元素是:"+s1.substring(2));
System.out.println("s1中索引从2到4的元素是:"+s1.substring(2, 4));
//字符串判断
System.out.println("s,s2相等?"+s.equals(s2));
System.out.println("s,s2忽略⼤⼩写是否相等:"+s.equalsIgnoreCase(s2));
//将字符串s全部转为⼩写再与s2字符串相⽐较
String snew = s.toLowerCase();
System.out.println("转⼩写后与s2是否相等:"+snew.equalsIgnoreCase(s2));
System.out.println("s1是以h开头的吗?"+s1.startsWith("h"));
System.out.println("s1是以o结尾的吗?"+s1.endsWith("o"));
}
结果:
  5、转换功能
    char[] toCharArray(); 将字符串转成字符数组

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。