`
cuihongxin1030
  • 浏览: 143923 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

字符处理函数(String类与StringBuffer类)

 
阅读更多
substring()   截取子串
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)

concat() 连接两个字符串

replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)

trim() 去掉起始和结尾的空格

valueOf() 转换为字符串 
eg: System.out.prinltln(String.valueOf(-129.12D)); //打印129.12

toLowerCase() 转换为小写

toUpperCase() 转换为大写

length() 取得字符串的长度
例:
char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();

charAt() 截取一个字符
例:
char ch;
ch=”abc”.charAt(1);
返回值为’b’

getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:
String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);

getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
byte[] bytes = s.getBytes();

toCharArray()
例:
String s = “Hello!你好!”;
char[] ss = s.toCharArray();

equals()和equalsIgnoreCase() 比较两个字符串的内容
equals区分字母大小写;equalsIgnoreCase不区分大小写

regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int
str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)

startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束

equals()和==
equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
例:String s1=”Hello”;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false

compareTo()和compareToIgnoreCase() 按字典次序比较字符串的大小
eg: System.out.println("a".compareTo("b"));  //打印-1
     System.out.println("b".compareTo("a"));  //打印1
     System.out.println("a".compareTo("a"));  //打印0


indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。

String[] spliter (String regex);参数regex把原来字符串分割成几个字符串;
eg:  str="11:23:14";
      result=str.spliter();
      System.out.println(result);  //打印“11”,“23”,“14”

StringBuffer构造函数(字符串缓存)
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)

下面是StringBuffer相关的函数:
length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。

ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)

setLength() 设置缓冲区的长度
void setLength(int len)

charAt()和setCharAt()
charAt()同String类相同;
char charAt(int where)
void setCharAt(int where,char ch)
在字符串的where的位置放置ch;


getChars() 同String类getChars()的用法
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(”a=”).append(a).append(”!”).toString();

toString () 返回缓冲区内的字符串;

insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定将字符串插入到StringBuffer对象中的位置的下标。

reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()

delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)

replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)
把位置startIndex到endIndex的字符串替换为str

substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)

String与StringBuffer的相同与不同点:
相同:1.都用来处理字符串
      2.例如length(),toString(),charAt(),subString()方法的用法相同
      3.字符在字符串中的索引位置都从0 开始
不同点:1.String是不变类,StringBuffer是可变类
        2.String类覆盖了Object类的equals()方法,StringBuffer()类没有覆盖Ob
         ject类的equals()方法
        3.都覆盖了Object类的toString()方法,但实现方式不一样:String类的      toString()方法返回当前String实例本身的引用,StringBuffer类的toString()方法 返回一个以当前StringBuffer的缓冲区中的所有字符为内容的新的String对象的应用
eg:String s="abc";
    StringBuffer sb=new StringBuffer("abc");
    System.out.println(s==s.toString());  //打印true
    System.out.println("abc"==sb.toString()); //打印false
      
       4.String类的对象可以用“+”连接,而StringBuffer不能;





分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Java程序设计API类库实训.pdf

    本文档主要介绍了 Java 程序设计 API 类库实训的相关知识点,涵盖了数学函数类、字符串类、StringBuffer 类、日期类、容器类等基础知识点。 一、数学函数类 * Math 类:Java.lang.Math 类提供了基本数学运算函数,...

    Java常用的基础类

    String 类是 Java 语言中最重要的类之一,它用于处理字符串。String 类提供了许多有用的方法,例如 concat() 方法可以连接两个字符串,substring() 方法可以获取子字符串,indexOf() 方法可以搜索字符串,replace() ...

    java字符串操作大全

    7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。  boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)  ...

    java 字符串匹配函数

    "java 字符串匹配函数" ...Java 字符串匹配函数是一种强大且灵活的字符串处理工具,可以用于各种字符串处理任务。通过学习和实践正则表达式,可以更好地使用 Java 字符串匹配函数来解决实际问题。

    2022华为Java机试题.docx

    在解决这个问题时,需要了解Java中的字符串处理机制,包括String、StringBuffer、StringBuilder等类的使用。同时,需要了解ASCII码表的概念和使用方法。 2. 数组操作: 在Java中,数组是最基本的数据结构之一。本...

    史上最全Java面试题目大集合

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    java常用类的使用方法.pdf

    Java语言中提供了多种常用类,例如Integer类、Float类、Double类、Character类、String类、StringTokenizer类、StringBuffer类、Random类等,这些类提供了许多实用的方法,以便开发者更方便地进行编程。本文将详细...

    java必刷面试题答案

    java中操作字符串的类有String、StringBuffer和StringBuilder。String类是不可变的,StringBuffer和StringBuilder是可变的。StringBuffer是线程安全的,而StringBuilder不是。 8. String str="i"与String str=new ...

    Java 语言程序设计(万字总结)

    * 字符串类型:String 类和 StringBuffer 类 * 字符串的操作:字符串的声明、字符串的操作方法 八、Java 中的继承和多态 * 继承的概念和特点 * Java 中的继承:单重继承、多重继承 * 多态的概念和特点 * 方法覆盖...

    JavaScript、JavaWeb对汉字等的编码与解码处理

    JavaScript、JavaWeb对汉字等的编码与解码处理 JavaScript和JavaWeb对汉字编码的策略是非常重要的,特别是在Web开发中,编码和解码的正确处理对于确保数据的正确传输和显示至关重要。在本资源中,我们将详细介绍...

    Java程序员面试宝典

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    2022年大工秋程序设计在线作业满分答案.doc

    7. StringBuffer是处理可变字符串的类。 知识点:StringBuffer、可变字符串 8. 类定义代码被置于其他类定义中的类是内部类。 知识点:内部类、类定义 9. 处理日期的类在Java中的java.util包中。 知识点:java....

    JAVA经典面试题附答案

    String是final类,不能被继承,字符串常量池中已经有的字符串无法更改。StringBuffer是线程安全的,所有方法都进行了同步处理,适合多线程环境。StringBuilder是非线程安全的,方法没有同步处理,适合单线程环境。 ...

    java基础知识点汇总

    JAVA 平台提供了两个类:String 和 StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个 String 类提供了数值不可改变的字符串。而这个StringBuffer 类提供的字符串进行修改。 ### 5. 运行时...

    中兴面试问题总结

    String、StringBuffer 和 StringBuilder 是 Java 中三个常用的字符串处理类。他们之间的主要区别在于执行速度和线程安全性。 * String 是字符串常量,执行速度最慢,但它是不可改变的对象。 * StringBuffer 是字符...

    java面试笔试题大汇总

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    剑指Offer #02 替换空格(字符串处理)

    请实现一个函数,将一个字符串中的每个空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy。 题目解析 方法一: 再创建一个StringBuffer ansansans 保存答案,接着遍历str,若...

    Java精华(免费版)

    由于java不支持全局函数和全局变量,所以java设计者将一些与系统相关的重要函数和变量放在system类中。 我们不能直接创建runtime的实例,只能通过runtime.getruntime()静态方法来获得。 编程实例:在java程序中...

    JSP中的字符替换函数 str_replace() 实现!

    //// StrReplace.java//package forum;import java.util.*;/*** Title:* Description:* Copyright: Copyright (c) 2001* Company:* @author* @version 1.0*/public class StrReplace {public StrReplace() {}...String

Global site tag (gtag.js) - Google Analytics