字符串-面试题

打印 上一主题 下一主题

主题 905|帖子 905|积分 2715

String 的不可变性


  • String底层是一个 final修饰的字符数组,当改变String的值时,会在常量池生成新的字符串,字符数组的地址指向常量池中新的字符串
StringBuffer的扩容原理


String、StringBuffer、StringBuilder三者对比


  • Strings是不可变的字符序列,底层是一个final修饰的字符数组。每次值改变时,会在常量池都会创建新的字符串
  • StringBuffer和StringBuilder时可变的字符序列,底层是一个字符数组存储数据。
    StringBuffer的初始化长度是16。当长度达到16时,会扩容为原长度的2倍+2,
    并且调用Arrays.copyOf( )方法,将原字符数组的元素,复制到新的数组中
  • StringBuilder是线程安全的,StringBuilder是线程不安全的。
对字符串的指定部门进行反转

[code]public String reverse(String str,int startIndex,int endIndex){  //双指针 操作 字符数组  char[] chars = str.toCharArray();  for (int x = startIndex,y=endIndex; x= str2.length()) ? str1 : str2;  String minStr = (str1.length() < str2.length()) ? str1 : str2;  //外层循环的次数  int len = minStr.length();  for (int i = 0; i < len; i++) {      for (int x = 0,y=len-i;y

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表