StringBuffer
程序员文章站
2022-04-23 14:10:31
...
1、StringBuffer对象的初始化
通常情况下一般使用构造方法进行初始化
例如:
StringBuffer sb = new StringBuffer(); //初始化对象为空
StringBuffer sb = new StringBuffer(“abc”); //初始化对象是字符串”abc”
注意:
StringBuffer和String属于不同的类型,不能直接进行强制类型
StringBuffer sb = new StringBuffer(s); //String转换为StringBuffer
String s = sb.toString(); //StringBuffer转换为String
2、StringBuffer常用方法
- append():字符串末尾连接字符
- deleteCharAt(int index):删除指定位置字符
- setChatAt(int index,char ch):替换指定位置字符
- insert(int offset,char ch):指定位置插入字符
- reverse:反转字符串
3.相关题目:
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H N
A P L S I I G
Y I R
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR" .
P A H N
A P L S I I G
Y I R
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR" .
4.参考代码:
public class ZigZag { public String convert(String s,int nRows){ char[] c = s.toCharArray(); StringBuffer[] sb = new StringBuffer[nRows]; for(int i=0;i<sb.length;i++) sb[i] = new StringBuffer(); int i = 0; while(i<c.length){ for(int j=0;j<nRows&&i<c.length;j++) sb[j].append(c[i++]); for(int j=nRows-2;j>=1&&i<c.length;j--) sb[j].append(c[i++]); } for(int j=1;j<sb.length;j++) sb[0].append(sb[j]); return sb[0].toString(); } }
上一篇: Java常用类型转换
推荐阅读
-
String、StringBuffer和StringBuilder区别
-
Java面试题(String、StringBuilder、StringBuffer)
-
Android 中StringBuffer 和StringBuilder常用方法
-
从源码角度简单看StringBuilder和StringBuffer的异同(全面解析)
-
Java StringBuffer类与StringBuilder类用法实例小结
-
JAVA StringBuffer类与StringTokenizer类代码解析
-
Android 中StringBuffer 和StringBuilder常用方法
-
深入解析StringBuffer和StringBuilder的区别
-
Java中字符数组、String类、StringBuffer三者之间相互转换
-
JDK源码分析之String、StringBuilder和StringBuffer