java学习笔记(十)----String类和StringBuffer类

原创 2006年05月31日 13:02:00

***String类和StringBuffer类
--------------------------
String类对象中的内容一旦被初始化就不能再改变
StringBuffer类用于封装内容可以改变的字符串,可以将其它各种类型的数据增加,插入到字符串中,也可以翻转字符串中原来的内容。一旦通过StringBuffer生成了最终想要的字符串,就应该使用StringBuffer.toString方法将其转换成String类,然后,就可以使用String类的各种方法操纵这个字符串了。
用toString方法转换成String类型
String x="a"+4+"c"编译时等效于 String x=new StringBuffer().append("a").append(4).append("c").toString();

字符串常量(如"hello")实际上是一种特殊的匿名String对象
1. String s1="hello"; String s2="hello";
   s1和s2指的是同一个对象  if (s1==s2) 结果是true
2. String s1=new String("hello"); String s2=new String("hello")
   s1和s2指的是不同的对象 if (s1==s2) 结果是flase

例: 逐行读取键盘输入,直到输入内容为"bye"时,结束程序

public class ReadLine {
 public static void main(String[] args) {
  byte[] buf=new byte[1024];
  String strInfo=null;
  int pos=0;
  int ch=0;
  System.out.println("please enter info, input tye for exit:");
  while(true)
  { try{
     ch=System.in.read(); //read()方法会读取一个字节的数据
       }
    catch (Exception ex)
    { ex.printStackTrace();
    }      
   switch(ch)
   { case '/r': break;
     case '/n': strInfo=new String(buf,0,pos);
                if (strInfo.equals("bye"))
                { return;
                }
                else
                { System.out.println(strInfo);
                  pos=0;
                  break;
                }
     default :
          buf[pos++]=(byte)ch;
                  
   }
    }
 } 
}

------------------------------------------
String类的常用成员方法
构造方法
** String(byte[] bytes, int offset, int length)  //将一个字节数组的内容转换成字符串对象,从下标为offset的元素,一直取length个元素的内容
** equalslgnoreCase 是在比较两个字符串时忽略大小写, 比如以上程序中的strInfo.equals("bye")可改为strInfo.equalsIgnoreCase("bye"),这样无论输入大小写的bye都能退出
** indexOf(int ch)方法是用来返回一个字符在该字符串中的首次出现的位置,如果没有这个字符则返回"-1"
   如: System.out.println("hello world".indexOf('o'))  //输出结果为4
  它的另一种形式indexOf(int ch, int fromIndex) 反回的是从fromIndex指定的数值开始,ch字符首次出现的位置.
   如: System.out.println("hello world".indexOf('o',5))  //输出结果为7 
** substring(int beginIndex)  返回的是一个字符串中从beginIndex指定的数值到末尾的一个字符串
   如:   System.out.println("hello world".substring(6)) //返回从第6个字符开始一直到最后的字符,输出world 
  substring(int beginIndex, int endIndex) 返回的是当前字符串中从beginIndex开始到endIndex-1结束的一个字符串
   如:   System.out.println("hello world".substring(6,8)) //输出wo
  (如果beginIndex指定的数值超过了当前字符串的长度,则返回一个空字符串)

 

 

 

 

 

 

相关文章推荐

java学习笔记(十二)String与StringBuffer类

String与StringBuffer类
  • ll_best
  • ll_best
  • 2017年04月06日 13:08
  • 141

Java学习笔记(四)--封装 String类 StringBuffer StringBuilder

封装1.封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 2.好处: -提高了代码的复用性 -提高了安全性 3.体现:将不需要对外提供的内容都隐藏起来。 4.做法:把属性隐藏,提...

我的学习笔记-->String类和StringBuffer类的区别

1、String类和StringBuffer都用来代表字符串 2、StringBuffer使用时不生成新的对象,所以在内存上优于String,对于StringBuffer对象的每次修改都会改变对象自身...

Java学习笔记之String、StringBuffer和StringBuilder

更多博文可参考我的个人博客:贱贱的梦想 基本概念 String:此类代表字符串常量,它们的值在创建之后不能更改。 StringBuffer:是一个线程安全的可变字符序列,它与String一样,在内存...

【Java学习笔记】String、StringBuffer和StringBuilder

--------------------------------------------Java培训、Android培训、iOS培训、.Net培训  、期待与您交流!-----------------...

java学习笔记-String 和StringBuffer

在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型,比如String、数组等当我们声明一个引用类型变量时,...

黑马程序员——java语言基础部分——String、StringBuffer StringBuild学习笔记一

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 概述:        String类代表字符串。        StringBuffer类...

Java学习笔记之StringBuffer类

如果你已经学习过String类的话,一定会知道它是用来处理字符串的。但是String类有一个不足之处,那就是它创建的字符串对象是无法修改的,我们无法对其增加或者是删除内容。因此,我们需要一个更加灵活的...

JAVA学习笔记——StringBuffer和StringBuilder类

1 、StringBuffter类 (1). StringBuffer和String的区别? 答:前者长度和内容可变,后者不可变。如果用前者做字符串的拼接,不会浪费太多的资源。(2). Strin...

(23)Java学习笔记——常用对象API / StringBuffer类

StringBuffer类 线程安全的可变字符序列 StringBuffer和String的区别 前者长度和内容可变,后者不可变 如果使用前者做字符串的拼接,不会浪费太多的资源 StringB...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java学习笔记(十)----String类和StringBuffer类
举报原因:
原因补充:

(最多只允许输入30个字)