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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 歌诗王道 中级黑马   /  2014-4-6 18:12  /  740 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Stringdemo1
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         String s = "abcde";
  6.         System.out.println(reverseString(s));
  7.     }
  8.     public static String reverseString(String s)
  9.     {
  10.         char[] chs = s.toCharArray();     //字符串变成数组
  11.         reverse(chs);     //反转数组
  12.         return new String(chs);     //将数组转成字符串
  13.     }
  14.     public static void reverse(char[] arr)
  15.     {
  16.         for(int start=0,end=arr.length-1;start<end;start++,end--)
  17.         {
  18.         swap(arr,start,end);
  19.         }
  20.     }
  21.     public static void swap(char[] arr,int x,int y)
  22.     {
  23.        char temp = arr[x];
  24.        arr[x] = arr[y];
  25.        arr[y] = temp;
  26.     }
  27. }
复制代码
这是关于毕老师反转字符串视频中的一段代码,我有个疑问,字符串本身也可以获取长度,也有自己的下标,为什么在还要先转换成数组再进行操作?

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

1 个回复

倒序浏览
String 是一个特殊的类,String s = "abcde";定义的是一个字符的序列,字符串的长度是指字符串中通过编码表编码后字符的 数量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马