--String字符串类,用来表示"",String类被final修饰,也就是不可以被继承。
--String类底层维护了一个char[],而且是final的,也就是说数组一旦创建长度和值都不能被修改了,字符串就变成了一个常量。
--源码摘抄:
--public final class String{}
--private final char value[];
Le StringBuilder () Construit une chaîne sans générateur de caractères et une capacité initiale de 16 caractères.
b, un procédé commun
StringBuilder append (String str) la chaîne de caractères spécifiée à cette séquence de caractères.
c, Test: efficacité connexion chaîne
//这个类用来测试字符拼接时效率问题//字符串在做大量的拼接时,使用原始的+拼接,效率极低。//可以使用工具类StringBuilder / StringBuffer来优化字符串拼接过程。//StringBuffer诞生于jdk1.0,StringBuilder诞生于jdk1.5。publicclassTest2_StringBuilder{publicstaticvoidmain(String[] args){// method();//用+拼接字符串,拼接10000次method1();//优化字符串拼接}privatestaticvoidmethod1(){//定义字符串
String str ="abcdefghijklmnopqrstuvwxyz";//拼接10000次字符串// StringBuilder sb = new StringBuilder();
StringBuffer sb =newStringBuffer();long start = System.currentTimeMillis();// 计时开始msfor(int i =0; i <10000; i++){
sb.append(str);// 拼接str}long end = System.currentTimeMillis();// 计时结束ms//计时
System.out.println(end-start);//3159ms 2ms}privatestaticvoidmethod(){//定义字符串
String str ="abcdefghijklmnopqrstuvwxyz";//拼接10000次字符串
String result ="";//定义变量,记录拼接结果long start = System.currentTimeMillis();// 计时开始msfor(int i =0; i <10000; i++){
result = result+str ;//拼接 result += str;}long end = System.currentTimeMillis();// 计时结束ms//打印拼接结果
System.out.println(end-start);//3159ms 3.2s}}
En troisième lieu, l'emballage
un concept:
Pour les huit types de base ont correspondant classe d'emballage afin de fournir de meilleures caractéristiques - les huit types de base: octet de poids à long short int float type char booléen Double - classe wrapper: Byte court Entier long Float double caractère Boolean
b, la structure d'héritage de classe enveloppe:
-- 所有的数字类型的父类 叫Number
--源码摘抄:public abstract class Number
-- byte byteValue() 以 byte 形式返回指定的数值。
--abstract double doubleValue() 以 double 形式返回指定的数值。
--abstract float floatValue() 以 float 形式返回指定的数值。
--abstract int intValue() 以 int 形式返回指定的数值。
--abstract long longValue() 以 long 形式返回指定的数值。
--short shortValue() 以 short 形式返回指定的数值。
c, Integer
--源码摘抄:public final class Integer
--创建对象:
--Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。
--常用方法:
--int intValue() 以 int 类型返回该 Integer 的值。
--static int parseInt(String s)将字符串参数作为有符号的十进制整数进行解析。
--static Integer valueOf(int i)返回一个表示指定的 int 值的 Integer 实例。
test:
//这个类用来测试包装类型:因为包装类能提供更丰富的功能publicclassTest3_Number{publicstaticvoidmain(String[] args){//1、创建Integer对象//Integer是针对基本类型的int进行了包装
Integer i =newInteger(10);//普通的创建方式,效率稍低
Integer i2 = Integer.valueOf(10);//效率高,在Integer类中,包含256个Integer缓存对象,范围是 -128到127。//使用valueOf()时,如果指定范围内的值,访问缓存对象,而不新建;如果指定范围外的值,直接新建对象。
Integer i3 = Integer.valueOf(10);
System.out.println( i2==i3 );//i2已经存过了10,i3又要存相同数据就不再开辟空间存相同数据了,而是直接拿着存过的10使用
System.out.println( i == i3 );//2、常用方法
System.out.println(i2.MAX_VALUE);//3、i或者i2已经是把基本类型的10变成了包装类型了,怎么再把包装类型变回成基本类型?
System.out.println( i2.intValue());int sum = Integer.parseInt("100");//4、把字符串类型的数字 转成 基本类型
System.out.println( sum );}}
Cinquièmement, les outils de date SimpleDateFormat
un concept
Il est utilisé pour convertir entre le type spécifique date de la date et la date de type String
b, créer un objet
SimpleDateFormat (motif String) avec un motif donné et la structure des symboles de paramètres régionaux de format de date par défaut SimpleDateFormat.