关于java的String和StringBuffer类
做题的时候遇到的,简单记一下。
String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。
用StringBuffer主要是为了进行翻转等操作。
用StringBuffer对象进行比较的时候有点麻烦,equals方法没有重写,所以转换成string来处理的。
下面的代码展示了一个简单的例子:
/*This program displays true if the word or phrase entered in the command line is a palindrome, or false if it is not.*/ public class Palindrome { public static void main(String args[]) { //使用了一个新的string类,这个类比较便于进行翻转等操作 StringBuffer iptstring = new StringBuffer(); //判断命令行参数是否为空 if(args.length == 0){ System.out.println("Not enough input arguments!"); System.exit(1); } //将命令行参数的字符串都追加到同一个字符串,比如:输入的参数为java Palindrome aaa bbb ccc,则args[0] = 'aaa',args[1] = 'bbb',args[2] = 'ccc',用下面的循环将他们加到一起,就成了'aaabbbccc'. for(int i = 0;i < args.length;i++) iptstring.append(args[i]); // System.out.println(iptstring); // System.out.println(iptstring.reverse()); //StringBuffer的对象没办法直接比较是否相同,简单的方法是先用toString()编程string对象,再用equals方法比较是否相同. if(iptstring.toString().equals(iptstring.reverse().toString())) System.out.println("true"); else System.out.println("false"); } }

浙公网安备 33010602011771号