第八章部分课后习题简答

3.String类有什么特点:

一旦赋值,便不能更改其指向的字符对象。如果更改,则会指向一个新的字符对象。

4.String什么时候进行值比较,什么时候进行引用比较?

(1)引用比较

public class StringEqualTest {
  public static void main(String[] args){
    String s = new String("Hello");  
    String t = new String("Hello");
    if (s==t){//对象引用,生成两个堆,即引用比较
       System.out.println("相等");
    }
    else{
       System.out.println("不相等");
    }
  }
}

(2)值比较

public class StringEqualTest1{
  public static void main(String[] args){
    String s = new String("Hello"); 
    String t = new String("Hello");
    if (s.equals(t)){//值比较,严格区分字母大小写
       System.out.println("相等");
    }
    else{
       System.out.println("不相等");
    }
  }
}//若要忽略大小写,调用方法equalsIgnoreCase

5.String与StringBuffer的区别是什么?如何相互转化?

如第三题所说,String一旦赋值,便不能更改其指向的字符对象。而StringBuffer是一个具有对象引用传递特点的字符串对象。

(1)利用StringBuffer的构造方法将String对象转化成StringBuffer对象:

String s = new String() ;
StringBuffer sb = new StringBuffer(s);

(2)将StringBuffer对象转化为String对象:

利用构造方法:
StringBuffer sb = new StringBuffer();
String s = new String(sb);

调用toString方法 :
String str = sb.toString();

常用的API:subString()

public class StringEqualTest1{
   public static void main(String[] args){
     String s = new String("unHello"); 
    System.out.println(s.substring(2));
   }
}//输出:Hello

public class StringEqualTest1{
   public static void main(String[] args){
     String s = new String("unHello"); 
    System.out.println(s.substring(7));
   }//输出为空值(an empty string)即“”

public class StringEqualTest1{
   public static void main(String[] args){
     String s = new String("unHellowp"); 
    System.out.println(s.substring(2,7));
   }
}//输出:Hello
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值