setCharAt()
该方法是StringBuffer中的方法,主要作用是将字符串中指定的位置的字符替换成目标字符,setCharAt(int index,char ch)index就是取代的位置 索引从0开始,ch是你要替换为的字符串。
eg:StringBuffer str = new StringBuffer("good");
str.setCharAt(3,'s');
System.out.print(str);
输出结果:goos
indexOf()
int indexOf(int ch,int fromIndex)函数:功能是从字符串的fromIndex位开始遍历,往后第一次出现字符ch的位置。如果没有找到,就返回-1 eg:String str="bfdaf3w4befjdalbfds"; System.out.println(str.indexOf(98,4)); 输出结果:8
b的ASCII为98,就从f开始找b,ps:java中位置第一个从0开始 String.indexOf函数用法小结 1. indexOf的参数是String, startIndex: Number; indexOf的返回值为int, 2. Function indexOf 包含如下几个格式: 1). Strng.indexOf(substring) //搜索String中的substring,默认从0位开始; 2). String.indexOf(substring, int m) //搜索String中的substring, 默认从第m位开始;
parseInt()
parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析。
parseInt()返回的是基本类型int
valueof()
valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
valueOf(String s) 返回保持指定的 String 的值的 Integer 对象。
valueOf()返回的是包装类Integer Integer是可以使用对象方法的 ,而int类型就不能和Object类型进行互相转换
其实就是:如String就有valueOf()方法,功能是要把参数中给的值,转化为String类型,Integer的valueOf()就是把参数给的值,转化为Integer类型。
intValue()
比如Integer类型,就有intValue()方法,功能是把Integer类型转化为Int类型。
append()(转自:angel豆蔻年华)
StringBuffer buf=new StringBuffer("Hard "); String aString = "Waxworks"; buf.append(aString,3,4); 原文说明:这个操作将aString的从索引位置3开始的由四个字符组成的子串追加到StringBuffer对象buf中。然后buf对象就会包含字符 串"Hard work"。 请注意,这个代码的实际运行结果是: buf对象包含的字符串为"Hard w"。 具体原因引用源代码: public synchronized StringBuffer append(CharSequence s, int start, int end) { super.append(s, start, end); return this; } 根据运行结果分析,StringBuffer对象的append()方法的参数,如果是String类型,那么,后面取子串的操作实际是从索引3开始,取值到索引4之前的串。如果append的语句改成 buf.append(aString,3,3); ,那么没有添加aString的子串,即 buf包含的字符实际还是"Hard "。如果此语句再改成 buf.append(aString3,2); ,那么系统会抛出"IndexOutOfBoundsException"的异常! 但是,如果append()的参数是字符数组(char[]),那么结果就如原文所述,buf将包含串"Hard work". 代码如下: StringBuffer buf=new StringBuffer("Hard "); char[] text ={'W','a','x','w','o','r','k','s'}; buf.append(text ,3,4); // buf包含串"Hard work" 具体原因引用源代码: public synchronized StringBuffer append(char str[], int offset, int len) { super.append(str, offset, len); return this; } JAVA 中 Stringbuffer 有append()方法 Stringbuffer其实是动态字符串数组 append()是往动态字符串数组添加,跟“xxxx”+“yyyy”相当那个‘+’号 跟String不同的是Stringbuffer是放一起的 String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样 String1+String2 存在于不同的两个地址内存 Stringbuffer1.append(Stringbuffer2)放再一起