intern(方法功能:intern()方法★如果StringPool包含内容相同的String对象,就从池中取出对象的引用返回;否则String对象会被加入池中,返回这个新对象的引用。String Pool中:s1abcdefgpublic static void main(string[l args) (s2hijklmnString s1="abcdefg";String s2="hijklmn";s3String s3="abcdefghijklmn"abcdefghijklmnString s4-"abcdefg"+"hijklmn";s4trueSystem.out.println(s3==s4)System.out.printLn("加入pool前:");$6String s5=null;//引用相加,不是常量相加s5=s1+s2;s5abcdefghijklmnSystem.out.println("s3=s5?"+(s3==s5));System.out.println("加入PooL后:");s3=s5?falseString s6=s5.intern();System.out.println("s3=str6?"+(s3==s6));子s3=s6?true
intern()方法 intern()方法功能: 如果String Pool包含内容相同的String对象, 就从池中取出对象的引用返回;否则String对 象会被加入池中,返回这个新对象的引用。 public static void main(String[] args) { String s1="abcdefg"; String s2="hijklmn"; String s3="abcdefghijklmn"; String s4="abcdefg"+"hijklmn"; System.out.println(s3==s4); System.out.println("加入Pool前:"); String s5=null; s5=s1+s2; //引用相加,不是常量相加 System.out.println("s3=s5? "+(s3==s5)); System.out.println("加入Pool后:"); String s6=s5.intern(); System.out.println("s3=str6? "+(s3==s6)); } true s3=s5?false s3=s6?true s1 String Pool中: abcdefg hijklmn abcdefghijklmn s2 s3 s4 s5 abcdefghijklmn s6
4、字符串对象与基本数据类型数据转换字符串→基本类型数据:字符串基本数据类型整数类型转换java.lang.Integer类的方法:intx1=Integer.parselnt("123");staticintparselnt(Strings)//x1=123static int parselnt(String S, int p)int x2 = Integer.parselnt("123",8);//x2=83int x3= Integer.parselnt("123",4);//x3=27其他基本数据类型封装类:使用Byte、Short、Long、Float、Double、Boolean类调相应的类方法例:Boolean.parseBoolean(Stringstr)parseXxx可以将由字符串转换成对应的基Long.parseLong(Stringstr)本数据类型数值,可能发生异常
4、字符串对象与基本数据类型数据转换 字符串→基本类型数据: 整数类型转换 java.lang.Integer类的方法: static int parseInt(String s) static int parseInt(String s, int p) 其他基本数据类型 封装类: 使用Byte、Short、Long、Float、 Double、Boolean类调相应的类方法 parseXxx可以将由字符串转换成对应的基 本数据类型数值,可能发生异常。 字符串 基本数据类型 int x1 = Integer.parseInt("123"); //x1=123 int x2 = Integer.parseInt(“123”,8); //x2=83 int x3= Integer.parseInt(“123”,4); //x3=27 例: Boolean.parseBoolean(String str) Long.parseLong(String str)
4、字符串对象与基本数据类型数据转换将数值→字符串:★String类的类方法将数据转化为字符串,如:基本数据public static StringvalueOf (byten)字符串类型publicstatic StringvalueOf (shortn)publicstaticStringvalueOf (intn)publicstatic String valueOf (long n)publicstatic StringvalueOf (floatn)publicstaticStringvalueOf(doublen)Integer、Long类中的类方法将数值转化为某进制的字符串(二进制)publicstaticStringtoBinaryString(longi)(八进制)publicstaticStringtoOctalString(longi)(十六进制)public staticStringtoHexString(long i)(十进制)publicstatic StringtoString(longi)(p进制)publicstaticStringtoString(longi,intp)
4、字符串对象与基本数据类型数据转换 将数值→字符串: String 类的类方法将数据转化为字符串,如: public static String valueOf(byte n) public static String valueOf(short n) public static String valueOf(int n) public static String valueOf(long n) public static String valueOf(float n) public static String valueOf(double n) Integer、Long类中的类方法将数值转化为某进制的字符串 public static String toBinaryString(long i) (二进制) public static String toOctalString(long i) (八进制) public static String toHexString(long i) (十六进制) public static String toString(long i ) (十进制) public static String toString(long i,int p ) (p进制) 基本数据 字符串 类型
5、字符串对象与字节数组、字符数组转换字符串对象与字符数组互相转换字符数组→字符串字符串→字符数组利用String类的构造方法·String(char)I/用字符数组全部字符·利用String类的成员方法String(char,intoffset,intyoidgetChars(intstart.intend.challength)用字符数组中的部分字符c[],int offset)I/将字符串部分字符存放到字符数组char[】toCharArray(l将字符串全部字符存放到字符数组
字符串对象与字符数组互相转换 5、字符串对象与字节数组、字符数组转换 字符数组 → 字符串 • 利用String类的构造方法 • String(char[]) //用字符数组全部字符 • String(char[],int offset,int length) //用字符数组中的部分字符 字符串→字符数组 • 利用String类的成员方法 • void getChars(int start,int end,char c[ ],int offset) //将字符串部分字符存放到字符数组 • char[ ] toCharArray() // 将字符串全部字符存放 到字符数组
5、字符串对象与字节数组、字符数组转换字符串对象与字节数组互相转换字节数组→字符串String类的两个构造方法:字符串字节数组String(byte[1b)1用指定的字节数组构造字符串对象。String类的成员方法:String(byte[]b,intoffset, intlength)用指定的宇节数组的一部分,即从数组起始位量offset开始取length个字bytegetBytesoI使用平台默认的字符编码,将当前字符串节构造一个字符串对象。转化为一个字节数组。bytegetBytes(StringcharsetName)1使用参数指定字符编码,将当前字符串转化为一个字节数组
字符串对象与字节数组互相转换 5、字符串对象与字节数组、字符数组转换 字节数组→字符串 String类的两个构造方法: String(byte[ ] b) //用指定的字节数组构造字符串对象。 String(byte[ ] b, int offset, int length) //用指 定的字节数组的一部分,即从数组起始位置offset开始取length个字 节构造一个字符串对象。 字符串 → 字节数组 String类的成员方法: byte[] getBytes() //使用平台默认的字符编码,将当前字符串 转化为一个字节数组。 byte[] getBytes(String charsetName) //使用参数指 定字符编码,将当前字符串转化为一个字节数组