目录
一、包装类(Wrapper)
(1)包装类与基本数据的转换
String%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2-toc" style="margin-left:80px;"> (2)包装类与String类型的转换
(3)Integer类和Character类常用的方法
String%E7%B1%BB-toc" style="margin-left:40px;">二、String类
String%E7%B1%BB%E4%BB%8B%E7%BB%8D-toc" style="margin-left:80px;">(1)String类介绍
String%20%E5%AF%B9%E8%B1%A1%E7%94%A8%E4%BA%8E%E4%BF%9D%E5%AD%98%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E4%B8%80%E7%BB%84%E5%AD%97%E7%AC%A6%E5%BA%8F%E5%88%97-toc" style="margin-left:120px;">1)String 对象用于保存字符串,也就是一组字符序列
2)字符串常量对象是用双引号括起的字符序列。例如:"你好"、"12.97"、"boy"等
3)字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节)
String%E7%B1%BB%E8%BE%83%E5%B8%B8%E7%94%A8%E6%9E%84%E9%80%A0%E5%99%A8(%E5%85%B6%E5%AE%83%E7%9C%8B%E6%89%8B%E5%86%8C)%3A-toc" style="margin-left:120px;">4)String类较常用构造器(其它看手册):
String%E7%B1%BB%E6%98%AFfinal%E7%B1%BB%EF%BC%8C%E4%B8%8D%E8%83%BD%E8%A2%AB%E5%85%B6%E4%BB%96%E7%9A%84%E7%B1%BB%E7%BB%A7%E6%89%BF%EF%BC%8CString%E7%B1%BB%E6%9C%89%E5%B1%9E%E6%80%A7private%20final%20char%20value%5B%5D%3B%E7%94%A8%E4%BA%8E%E5%AD%98%E6%94%BE%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%86%85%E5%AE%B9%EF%BC%8Cvalue%E4%B8%8D%E5%8F%AF%E4%BF%AE%E6%94%B9%EF%BC%8C%E6%98%AF%E6%8C%87value%E4%B8%8D%E8%83%BD%E6%8C%87%E5%90%91%E6%96%B0%E7%9A%84%E5%9C%B0%E5%9D%80%EF%BC%8C%E4%BD%86%E6%98%AF%E5%8D%95%E4%B8%AA%E5%AD%97%E7%AC%A6%E7%9A%84%E5%86%85%E5%AE%B9%E5%8F%AF%E4%BB%A5%E5%8F%98%E5%8C%96-toc" style="margin-left:120px;">5)String类是final类,不能被其他的类继承,String类有属性private final char value[];用于存放字符串内容,value不可修改,是指value不能指向新的地址,但是单个字符的内容可以变化
String%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%88%9B%E5%BB%BA-toc" style="margin-left:80px;">(2)String对象的创建
String%E7%89%B9%E6%80%A7-toc" style="margin-left:80px;">(3)String特性
String%E7%B1%BB%E7%9A%84%E5%B8%B8%E8%A7%81%E6%96%B9%E6%B3%95-toc" style="margin-left:80px;">(4)String类的常见方法
StringBuffer%20%E7%B1%BB-toc" style="margin-left:40px;">三、StringBuffer 类
String%20%E5%92%8C%20StringBuffer%20%E7%9B%B8%E4%BA%92%E8%BD%AC%E6%8D%A2-toc" style="margin-left:80px;">(1)String 和 StringBuffer 相互转换
StringBuffer%20%E7%B1%BB%E5%B8%B8%E8%A7%81%E6%96%B9%E6%B3%95-toc" style="margin-left:80px;">(2)StringBuffer 类常见方法
a)增
b)删
c)改
d)查
e)插
String%E3%80%81StringBuffer%20%E5%92%8C%20StringBuilder%20%E7%9A%84%E6%AF%94%E8%BE%83-toc" style="margin-left:80px;">(3)String、StringBuffer 和 StringBuilder 的比较
一、包装类(Wrapper)
(1)包装类与基本数据的转换
装箱:基本类型->包装类型
拆箱:包装类型->基本类型
java5以后是自动装箱和拆箱的方式,自动装箱底层调用的是valueOf方法,比如Integer.vaalueOf()
手动装箱
int n = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
手动拆箱
int i = integer.intValue();
自动装箱
int n2 = 200;
Integer integer2 = n2;
自动拆箱
int n3 = integer2;
其他的包装类类似一样
测试用例:
java"> public static void main (String[] args) {Object obj1 = true? new Integer(1): new Double(2);System.out.println(obj1);}
打印的结果为1.0,因为三目运算符是一个整体,会自动提升类型所以是1.0不是1
String%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BD%AC%E6%8D%A2"> (2)包装类与String类型的转换
java"> public static void main (String[] args) {//Integer->StringInteger i = 100;//自动装箱//方式1String j = i + " ";//对于i的数据类型没有变化//方式2String str1 = i.toString();//方式 3String str3 = String.valueOf(i);//String -> 包装类(Integer)String str4 = "12345";
Integer i2 = Integer.parseInt(str4);//使用到自动装箱Integer i3 = new Integer(str4);//构造器System.out.println("ok~~");}
(3)Integer类和Character类常用的方法
java"> public static void main (String[] args) {System.out.println(Integer.MIN_VALUE); //返回最小值
System.out.println(Integer.MAX_VALUE);//返回最大值
System.out.println(Character.isDigit('a'));//判断是不是数字
System.out.println(Character.isLetter('a'));//判断是不是字母
System.out.println(Character.isUpperCase('a'));//判断是不是大写
System.out.println(Character.isLowerCase('a'));//判断是不是小写
System.out.println(Character.isWhitespace('a'));//判断是不是空格
System.out.println(Character.toUpperCase('a'));//转成大写
System.out.println(Character.toLowerCase('A'));//转成小写
}}
Integer面试题
java">
public static void main(String[] args) {
Integer i = new Integer(1);
Integer j = new Integer(1);
System.out.println(i == j); //False
//所以,这里主要是看范围 -128 ~ 127 就是直接返回
//这里创建了对象,两个对象返回false
//2. 如果不在 -128~127,就直接 new Integer(i)Integer m = 1; //底层 Integer.valueOf(1); -> 阅读源码
Integer n = 1;//底层 Integer.valueOf(1);
System.out.println(m == n); //T
//所以,这里主要是看范围 -128 ~ 127 就是直接返回
//,否则,就 new Integer(xx);
Integer x = 128;
Integer y = 128;
System.out.println(x == y);//False
Integer i11 = 127;
int i22 = 127;
System.out.println(i11 = i22); //true
//只要有基本数据类型,判断的是值相等,Integer自动拆箱
Integer i33 = 128;
int i44 = 128;
System.out.println(i33 = i44); //true
//只要有基本数据类型,判断的是值相等,Integer自动拆箱
}
}