String类和StringBuffer类
Posted borter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类和StringBuffer类相关的知识,希望对你有一定的参考价值。
位于java.lang包中,这个包中的类使用时不用导入
String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。它可以使用tostring()转换成string字符串。
String x=”a”+4+”c”编译时等效于String x=new StringBuffer().append(“a”).append(4).append(“c”).toString();
字符串常量是一种特殊的匿名对象,String s1=”hello”;String s2=”hello”;则s1==s2;因为他们指向同一个匿名对象。
如果String s1=new String(“hello”);String s2=new String(“hello”);则s1!=s2;
/*逐行读取键盘输入,直到输入为“bye”时,结束程序
注:对于回车换行,在windows下面,有‘ ‘和‘ ‘两个,而unix下面只有‘ ‘,但是写程序的时候都要把他区分开*/
1 public class readline 2 { 3 public static void main(String args[]) 4 { 5 String strInfo=null; 6 int pos=0; 7 byte[] buf=new byte[1024];//定义一个数组,存放换行前的各个字符 8 int ch=0; //存放读入的字符 9 system.out.println(“Please input a string:”); 10 while(true) 11 { 12 try 13 { 14 ch=System.in.read(); //该方法每次读入一个字节的内容到ch变量中。 15 } 16 catch(Exception e) 17 { 18 } 19 switch(ch) 20 { 21 case ‘ ‘: //回车时,不进行处理 22 break; 23 case ‘ ‘: //换行时,将数组总的内容放进字符串中 24 strInfo=new String(buf,0,pos); //该方法将数组中从第0个开始,到第pos个结束存入字符串。 25 if(strInfo.equals("bye")) //如果该字符串内容为bye,则退出程序。 26 { 27 return; 28 } 29 else //如果不为bye,则输出,并且竟pos置为0,准备下次存入。 30 { 31 System.out.println(strInfo); 32 pos=0; 33 break; 34 } 35 default: 36 buf[pos++]=(byte)ch; //如果不是回车,换行,则将读取的数据存入数组中。 37 } 38 } 39 } 40 }
以上是关于String类和StringBuffer类的主要内容,如果未能解决你的问题,请参考以下文章
String类 StringBuilder类和StringBuffer类 日期相关的类