A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大牛1 中级黑马   /  2016-6-1 20:16  /  489 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

StringBuffer面试题
  1. package cn.itcast_08;

  2. /*
  3. * 面试题:
  4. * 1:String,StringBuffer,StringBuilder的区别?
  5. * A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的。
  6. * B:StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高
  7. *
  8. * 2:StringBuffer和数组的区别?
  9. * 二者都可以看出是一个容器,装其他的数据。
  10. * 但是呢,StringBuffer的数据最终是一个字符串数据。
  11. * 而数组可以放置多种数据,但必须是同一种数据类型的。
  12. *
  13. * 3:形式参数问题
  14. * String作为参数传递
  15. * StringBuffer作为参数传递
  16. *
  17. * 形式参数:
  18. *                 基本类型:形式参数的改变不影响实际参数
  19. *                 引用类型:形式参数的改变直接影响实际参数
  20. *
  21. * 注意:
  22. *                 String作为参数传递,效果和基本类型作为参数传递是一样的。
  23. */
  24. public class StringBufferDemo {
  25.         public static void main(String[] args) {
  26.                 String s1 = "hello";
  27.                 String s2 = "world";
  28.                 System.out.println(s1 + "---" + s2);// hello---world
  29.                 change(s1, s2);
  30.                 System.out.println(s1 + "---" + s2);// hello---world

  31.                 StringBuffer sb1 = new StringBuffer("hello");
  32.                 StringBuffer sb2 = new StringBuffer("world");
  33.                 System.out.println(sb1 + "---" + sb2);// hello---world
  34.                 change(sb1, sb2);
  35.                 System.out.println(sb1 + "---" + sb2);// hello---worldworld

  36.         }

  37.         public static void change(StringBuffer sb1, StringBuffer sb2) {
  38.                 sb1 = sb2;
  39.                 sb2.append(sb1);
  40.         }

  41.         public static void change(String s1, String s2) {
  42.                 s1 = s2;
  43.                 s2 = s1 + s2;
  44.         }
  45. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马