黑马程序员技术交流社区

标题: 字符串分割后,字符串在数组中是如何存放的? [打印本页]

作者: dunwu    时间: 2013-7-3 15:46
标题: 字符串分割后,字符串在数组中是如何存放的?
本帖最后由 杜光 于 2013-7-5 07:31 编辑
  1. package com.itheima;

  2. class StringDemo
  3. {
  4.         public static void method_split()
  5.                 {
  6.                    String s="zhangsan,lisi,wangwu";
  7.                    String[] arr=s.split(",");
  8.                    for (int x=0;x<arr.length ;x++ )
  9.                    {
  10.                            System.out.println("字符串分割后的结果是"+arr[x]);
  11.                    }
  12.             }
  13.       
  14. }
  15. public class StringSplit
  16. {
  17.         public static void main(String[] args)
  18.         {
  19.                         StringDemo smd=new StringDemo();
  20.                            smd.method_split();
  21.         }
  22. }
复制代码

作者: denghui1010    时间: 2013-7-3 16:13
arr数组是这样的
{"zhangsan","lisi","wangwu"}
长度3

作者: xiaohu1218    时间: 2013-7-3 16:35
字符串分割后生成的每个子串都将作为字符数组中的一个元素存入字符串类型的数组中
楼主的代码就是如此,以逗号拆分字符串,如将"zhangsan"这个子串取出作为第一个子串,
然后第二个子串就从"li"开始,遇到","后就将这个逗号之前的字符串作为第二个元素存入字符数组,
以此类推将字符串分割完,每个子串都成了字符串数组中的一个元素。
根据程序的运行结果,相信楼主也能看懂的
作者: 谢威    时间: 2013-7-3 17:05
首先arr数组里面存储的是数据的地址。
arr[0]存储的是字符串"zhangsan"所存放的地址值,该地址直接指向字符串"zhangsan"。
arr[1]存储的是字符串"lisi"所存放的地址值,该地址直接指向字符串"lisi"。
arr[2]存储的是字符串"wangwu"所存放的地址值,该地址直接指向字符串"wangwu"。
作者: 贾永长    时间: 2013-7-3 17:16
String s="zhangsan,lisi,wangwu";
String[] arr=s.split(",");
字符串分割成三部分,分别成为字符串数组arr的三个元素:
内存图如下:

数组.jpg (51.42 KB, 下载次数: 0)

数组.jpg

作者: 杜光    时间: 2013-7-3 20:22
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2