Java学习笔记(字符串)
来源:互联网 发布:db2删除一列的sql语句 编辑:程序博客网 时间:2024/05/20 02:51
16 集合
16.1 字符串
16.1.1 String
String s = “abc”;//s是一个类型变量,”abc”是一个对象;
**String类的特点:
字符串对象一旦被初始化就不会被改变**。
例1:
public class StringDemo { public static void main(String[] args) { String s1 = "abc"; String s2 = new String("abc"); System.out.println(s1==s2); //String类复写了Object类中的equals方法,该方法用于判断字符串是否相同 System.out.println(s1.equals(s2)); }}
运行对象:
例1分析:s1在内存中有一个对象,s2在内存中有两个对象。
字符串创建的时候,有一个字符串常量池,s1创建后,”abc”放入其中。而s2是在堆内存中创建了另外一个”abc”字符串对象。所以,两个对象不是同一个对象。
例2:
public class StringDemo { public static void main(String[] args) { String s = "abc"; s = "cba"; System.out.println(s); }}
运行结果:cba
例2分析:”abc”字符串对象并没有被改变,只是引用变量s指向了新创建的字符串对象”cba”。
16.1.2 StringBuffer
StringBuffer是一个字符缓冲区,即一个容器。
特点:
- 长度可变;
- 可操作多个不同类型数据;
最终通过toString方法转化为字符串进行使用。
public class StringBufferDemo { public static void main(String[] args) { method_del(); method_add(); method_update(); method_getChar(); } public static void method_del(){ StringBuffer s = new StringBuffer("abcdef"); s.delete(2, 4); write(s.toString()); s.deleteCharAt(0); write(s.toString()); } public static void method_add(){ StringBuffer s = new StringBuffer(); s.append("acd").append(31).append(true); s.insert(1, "gf"); write(s.toString()); } public static void method_update(){ StringBuffer s = new StringBuffer("abcds"); s.replace(1, 3, "gabriel"); write(s.toString()); s.setCharAt(0, 'b'); write(s.toString()); } public static void method_getChar(){ StringBuffer s = new StringBuffer("abcds"); char[] c = {'a','c','s','w'}; s.getChars(0, 3, c, 1); for(int i=0;i<c.length;i++){ write("c["+i+"]="+c[i]); } } public static void write(String str){ System.out.println(str); }}
运行结果:
16.1.3 StringBuilder
StringBuffer是线程同步,StringBuilder是线程不同步。
开发建议使用StringBuilder,为StringBuffer升级版,内容与StringBuffer一致。
Java升级三个因素:
- 提高效率;
- 简化书写;
- 提高安全性。
16.1.4 基本数据类型对象包装类
- byte Byte
- short Short
- int Integer
- long Long
- float Float
- double Double
- char Character
- boolean Boolean
基本数据类型对象包装类最常见作用,就是用于基本数据类型和字符串类型之间转换。
基本数据类型–>字符串
- 基本类型数据+”“;
- 基本数据类型.toString(基本数据类型值);例如:Integer.toString(21);//将21整数变成字符串“21”;
- String类中的静态方法valueOf(基本数据类型)。
字符串–>基本数据类型
- 使用包装类中的静态方法parseXxx(String);
xxx s = Xxx.parseXxx(String);
int a = Integer.parseInt();
只有Character没有parse方法。 - Integer中的intValue()方法,将Integer对象转换为基本数据类型;
String类中的静态方法valueOf(基本数据类型)。
public class IntegerDemo { public static void main(String[] args) { Integer x = new Integer("123"); Integer y = new Integer(123); Integer m= 128; Integer n = 128; Integer a = 127; Integer b = 127; write("x==y:"+(x==y)); write("x.equals(y):"+x.equals(y)); write("m==n:"+(m==n)); write("a==b:"+(a==b)); } public static void write(String str){ System.out.println(str); }}
运行结果:
- 使用包装类中的静态方法parseXxx(String);
分析:上例中a和b指向了同一个Integer对象,因为当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会开辟新的空间。而Integer中重写了equals方法。
1 0
- Java学习笔记(字符串)
- JAVA字符串学习笔记
- Java 字符串学习笔记
- Java字符串学习笔记
- Java学习笔记:字符串
- JAVA 字符串学习笔记
- JAVA 字符串学习笔记
- java学习笔记--字符串
- java 学习笔记(二) 字符串分割
- JAVA学习笔记(6)字符串
- Java学习笔记之字符串(六)
- java学习笔记(五) -- 字符串
- JAVA学习笔记之(字符串)
- (Thinking in Java学习笔记)字符串
- java学习笔记05--字符串 .
- java学习笔记05--字符串
- Java学习笔记_8_字符串
- Java学习笔记之字符串
- 编写高性能的Lua代码
- SDWebImage异步加载图片及缓存的管理与清理
- Java多线程-并发容器
- Reverse Integer
- Eclipse下Nodejs项目配置详细步骤
- Java学习笔记(字符串)
- Android中网络优化
- 矩阵连乘详解
- Tomcat.localhost(Problem)
- JavaScript DOM对象控制
- Qt5.5.0编译移植到Linux-Arm-A9
- 数据结构中内部排序总结
- preparedStatement 理解
- C6000 DSP技术深度探索(2)---链接命令文件(cmd)