JAVA学习笔记--字符串概述

一、String类

  String类代表字符串,是由字符构成的一个序列。创建String对象的方法很简单,有以下几种:

1)用new来创建:

  String s1 = new String("my name is tongye");

2) 不用new直接创建:

  String s2 = "my name is tongye";

3) 可以用字符数组来创建一个字符串:

  char[] c = {‘t‘,‘o‘,‘n‘,‘g‘,‘y‘,‘e‘};

  String s3 = new String(c);

  String对象是不可变的,它们的值在创建后不能更改。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。像下面这样:

  String s = "tongye";     // 创建了一个内容为 “tongye” 的String对象,并将其引用赋值给s,s是一个String类型的引用

  s = "TONGYE";          // 创建了一个内容为“TONGYE”的新的String对象,并将其引用赋值给s

  第二条语句创建后,第一个String对象“tongye”并没有消失,只是不能再访问它,因为现在引用s指向了另一个对象“TONGYE”。

  String类有15种构造方法,以及许多处理字符串的方法,下面简单介绍一些:

String();                  // 初始化一个新创建String对象,使其表示一个空字符序列

String(byte[] bytes);            // 使用平台默认的字符集解码指定的byte数组,构造一个新的String

String(byte[] bytes,Charset charset);        // 使用指定的Charset解码指定的byte数组,构造一个新的String

String(byte[] bytes,int offset,int length);  // 使用平台默认的字符街解码指定的byte子数组,构造一个新的String,其中offset是第一个字符的索引,length是子数组的长度

String(StringBuilder builder);         // 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列

String(StringBuffer buffer);          // 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列
charAt(int index);        // 返回指定索引处的char值

s1.compareTo(s2);       // 按字典顺序比较两个字符串s1和s2,返回一个int型数据

s1.equals(s2);             // 将s1与s2相比较,若完全相等,则返回true    

s1.contact(s2);            // 将s2连接到字符串s1的结尾

toString();                   // 返回此对象本身

toUpperCase();            // 将所有字符都转换成大写

valueOf(boolean b);     // 返回boolean参数的字符串表示形式

substring(int beginIndex,int endIndex);    // 返回一个新的字符串,它是该字符串的子字符串,在beginIndex和endIndex之间

split(regex);                 // 使用给定的正则表达式来拆分此字符串

二、StringBuffer和StringBuilder类

  String对象一旦被创建,其内容便不能更改,这使得String类并不是很灵活,在一些场合下并不方便。StringBuffer和StringBuilder类是可以替代String类的另一种处理字符串的解决方案,它们相比String类来说更为灵活:可以向一个StringBuffer或StringBuilder类中添加、插入或追加新内容。一般来说,只要是使用字符串的地方,都可以用StringBuffer或StringBuilder类。

1、StringBuffer

  StringBuffer是一个线程安全的可变字符序列,一个类似于String的字符串缓冲区,但是不能修改。StringBuffer有多种处理字符串的方法,其中主要操作是append和insert方法。StringBuilder是线程安全的。

append(boolean b);    // 将布尔类型参数的字符串表示形式追加到序列末尾,其他参数类型与之类似

insert(int offset,char c);    // 将char类型参数的字符串表示形式插入到此序列索引为offset的字符后面

delete(int start,int end);    // 删除索引号start和end之间的字符

deleteCharAt(int index);    // 移除序列指定位置处的char

2、StringBuilder

  StringBuilder是一个可变的字符序列。它提供一个与StringBuffer兼容的API,但不保证同步。该类被设计为StringBuffer的一个简单替换,用在字符串缓冲区被单个线程使用的时候。在大多数情况下,它比StringBuffer快。将StringBuilder的实例用于多个线程是不安全的。

时间: 2025-01-17 23:30:14

JAVA学习笔记--字符串概述的相关文章

Java学习笔记--字符串和文件IO

1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1.1 String类 字符串就是由一系列的字符组成的序列,在很多语言中,比如C语言,将其存储在一个数组中.现在运用Java的思想,就要将字符串视为一个对象,其中Java规定的String类有11个构造方法,同时还有至少40种实现的方法,通过String类的学习,可以很好地了解面向对象的类和对象的思想.

Java学习笔记_26_泛型概述

                                                               泛型概述 在Java中存入容器中的对象再取出时需要转换类型,因为对象加入容器会被转换成Object类型,而取出时要转换成实际类型.但向  下类型转换都 是存在潜在危险的,因此应该尽量避免它们.  Java的泛型: 所谓泛型就是在定义(类.方法.形参.成员变量等等)的时候,指 定它们为通用类型,也就是数据类型可以是任意类型. 泛型为提高大型程序的类型安全和维护带来了很大的潜

Java学习笔记_18_字符串、包装类、原始数据类剪得转换

18. 字符串.包装类.原始数据类剪得转换: 各个转换如下: 1>String 转换成Integer: Integer integer = new Integer("string");或 Integer Integer = Integer.valueOf(String): 注:String必须是数字字符串,如:"1232". 2>Integer 转换成String: String str = Integer.toString(); 3>Intege

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

java学习笔记一

只记录一些我认为比较必要,容易出错的地方.(不断更新中) 内存:分为四段,代码段code segment,数据段data segment,栈stack, 堆heap.记住如下图 数据类型: 1.java整形常量默认为int类型,当使用long类型时,因此需要添加“l”或“L”,一般用大写,小写像1.如long i = 888888888888L 2.浮点数时会默认为double类型,因此使用float时需要添加f.如 float i = 0.123f 3.java支持大数运算. 强制转换 flo

Java 学习笔记(2015.7.13~17)

Java 学习笔记(2015.7.13~17) Java this关键字 表示本类中的属性,调用本类中的方法 class Person {        private String name;         private int age;         public Person(String name, int age) {         this.name = name;//调用本类中的属性         this.age = age;//同上} //get&set方法:    

非专业码农 JAVA学习笔记 6java工具类和算法-string

续<非专业码农 JAVA学习笔记 5 java工具类和算法> 五.字符串string 字符串和字符的差别:字符串双引号括起来”n”,字符用单引号括起来,表示一种符号’\n’ 1.string的主要方法和属性 类 方法或者属性 备注 定义string Stirng s=new string(“值”),string s=”值” 属性 string.length:string的长度为字节 方法startswith,endswith s.startwith(“值”)-以值为开头,s.endswith(

java学习笔记07--日期操作类

java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. [java] view plaincopy public class T { public static void main(String[] args) { Date date  = new Date(); System.out.println("当前日期:"+date); //当前日期:Thu May 16 23:00:57 CST 

java学习笔记05--字符串 .

java学习笔记05--字符串 . 一.String类 由字符所组成的一串文字符号被称之为字符串.在java中字符串不仅仅是字符数组,而且是String类的一个实例,可以使用String类来构建. 字符串的每个字符是使用Unicode字符来构建. Sring对象上的几个方法: length()       取得字符串的长度 equals()      判断源字符串中的字符是否等于指定字符串中的字符  toLowerCase()      转换字符串中的英文字符为小写 toUpperCase()