[Java] String类, StringBuffer类

1. String 类

1. 创建:

String s1 = new String;

s1 = "abc";

String s2 = new String("abc");

char c[] = {‘a‘, ‘b‘, ‘c‘};

String s3 = new String(c);

String s4 = "abc";

1. 常用方法

2.1 int length()

  返回字符串的长度

2.2 char charAt(int index)

  返回字符串中 index 位置上的字符

2.3 boolean equals(Object anObject)

  比较两个字符串是否相同

2.4 boolean equalsIgnoreCase(Object anObject)

  比较两个字符串在不区分大小写时是否相等。

2.5 boolean startsWith(String prefix, int toffset)

  测试此字符串从指定索引开始的子字符串是否以指定前缀开始。prefix 前缀, toffset此字符串中开始查找的位置

2.6 boolean endsWith(String suffix)

  判断此字符串是否以指定后缀结束

2.7 int compareTo(Object anObject)

  如果s1 与 s2 相同,方法返回值为0

  按字母顺序s1 小于 s2,方法会返回个小于0的值

  按字母顺序s1 大于 s2,方法会返回个大于0的值

2.8 String concat(String str)

  将指定字符串连接到此字符串的结尾

2.9 indexOf()

  返回指定字符和指定字符串在字符串中第一次出现的位置。如果找不到指定的内容,则返回-1

  int indexOf(char ch)

  int lastIndexOf(int ch, int fromIndex)

  int indexOf(String str)

  int indexOf(String str, int fromIndex)

2.10 replace()

  在字符串中使用指定字符替换掉原有字符。该方法返回新的替换后的字符串

  String replace(char oldChar, char newChar)

  String replace(String oldStr, String newStr)

2.11 substring()

  返回一个新的字符串,它是此字符串的一个子串

  String substring(int beginIndex)

  String substring(int beginIndex, int endIndex)

2.12 toUpperCase() 和 toLowerCase()

  把字符串中的字符全部转换为大写或小写

  String toUpperCase()

  String toLowerCase()

StringBuffer 类

String类可以提供对定长字符串的处理,但这还不能满足实际需要。在信息处理中,我们经常要对动态的字符序列进行分析和处理,这时,可以使用StringBuffer类创建字符串对象

1.创建

  public StringBuffer()  构造一个不带字符的字符串缓冲区,其初始容量为16个字符

  public StringBuffer(int length)  构造一个长度为length的空字符串缓冲区,可以存放length 个字符

  public StringBuffer(String str)  构造一个字符串缓冲区,内容为str,并另外提供16个字符的空间供扩展

2. 常用方法

2.1 int length()

2.2 void setLength(itn newLength)

  重新设定字符串的长度

2.3 int capacity()

  返回当前缓冲区的大写

2.4 append()

  将指定内容添加到此字符序列中。有多重重载的方法定义,可将不同数据类型的数据添加到当前字符串中

  StringBuffer append(String str)

  StringBuffer append(StringBuffer sb)

  StringBuffer append(char c)

  StringBuffer append(int i)

2.5 StringBuffer delete(int start, int end)

  删除字符串指定内容。delete()删除的是下标为start 到 end-1 处所有的元素

2.6 StringBuffer replace(int start, int end, String str)

  使用给定字符串替换此序列的子字符串。替换的是下标为start 到 end-1 结束

2.7 insert()

  将指定内容插入此字符序列中,改方法用以添加数据。

  StringBuffer insert(int offset, String str)

  StringBuffer insert(int offset, int i)

  StringBuffer insert(int offset, char[] str)

2.8 StringBuffer reverse()

  将字符串内容逆序

2.9 char charAt(int index)

  返回字符串中指定位置的字符

时间: 2024-08-05 18:50:44

[Java] String类, StringBuffer类的相关文章

Java从零开始学三十(String和StringBuffer类)

一.StringBuffer连接字符操作 当一个字符串的内容需要被经常改变时就要使用StringBuffer 在StringBuffer中使用append()方法,完成字符串的连接操作 二.StringBuffer类的常用方法 No. 方法定义 类型 描述 1 public StringBuffer() 构造 StringBuffer的构造方法 2 public StringBuffer append(char c) 方法 在StringBuffer中提供了大量的追加操作(与String中使用“

Java中String类StringBuffer类和StringBuilder类的区别

首先阐述String类和StringBuffer类的区别,String类是常量,不能添加,而StringBuffer则是一个字符缓冲区,可以往里面添加字符串.比如说: <span style="font-size:18px;">String str = "helloworld"; str += "welcome";</span> 这里其实过程是这样的:生成了String对象 "helloworld" 引

Java中的Stringbuffer类解析

StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的. 但是有一个最显著的区别在于,

Java基础之StringBuffer类(八)

java.lang.StringBuffer代表可变的字符序列: StringBuffer和String类似,但StringBuffer可以对其字符串进行改变. StringBuffer类的常见构造方法: StringBuffer():创建一个不包含字符序列的"空"的StringBuffer对象. StringBuffer(String str):创建一个StringBuffer对象,包含与String对象str相同的字符序列. StringBuffer常用方法(1) 重载方法publ

java String、StringBuffer、StringBuilder

 1.简介 String是不可变类,且是线程安全的: StringBuffer是可变类,且是线程安全的: StringBuilder是可变类,且不是线程安全的. 注:“可变/不可变”指对该类对象进行修改操作时,是否会产生新的对象.对String对象进行修改时会产生新的对象, 对StringBuffer和StringBuilder对象修改时不会产生新的对象. String类的定义如下,使用了final关键字: 1 /** The value is used for character storag

Java String, StringBuilder, StringBuffer

整理自stackoverflow: Mutability Difference: String is immutable, if you try to alter their values, another object gets created, whereas StringBuffer and StringBuilder are mutable so they can change their values. Thread-Safety Difference: The difference

Java String、StringBuffer和StringBuilder类

package com.fish.string; /*  String 字符串类:     题目:new String("abc")创建了几个对象?  两个对象,一个对象是 位于字符串常量池中,一个对象是位于堆内存中.    */ public class Demo1 {     public static void main(String[] args) {         String str1 = "hello";         String str2 = 

JAVA String 与 StringBuffer 的一些常用方法

String 常量池概念,当String 对象是new 出来的并传参如:String s = new String("hello");//其在堆栈中开辟地址,引用地址在栈中,值存于堆: 当String 传值为: String s = new String:s="hello";//其在常量池中开辟地址 二者地址不等 String 类位于java.lang 包中,具有丰富的方法:计算字符串的长度.比较字符串.连接字符串.提取字符串 .toUooerCase() 字符串都

【转载】关于Java String, StringBuilder, StringBuffer, Hashtable, HashMap的面试题

REF: http://blog.csdn.net/fightforyourdream/article/details/15333405 题目是一道简单的小程序,像下面这样:[java] view plaincopypublic class Test1 {   public static void main(String args[]) {    String s = new String("Hello");    System.out.println(s);      foo(s);

Java String 和 StringBuffer的区别

1.String类的定义是这样的: public final class String extends Object implements   Serializable, Comparable<String>, CharSequence { ... ... } 也就是说String是一个final的类,final类是不可以被继承的,其中的方法也不可以被重写.String是对象而非原始类型,一旦String的实例被赋值,那么这个实例 将不可改变,对于此实例的更改,都是重新开辟空间和实例,对新的实