关于对象数组输出,字符串数组遍历,Arraylist容器 等疑问的初步总结

package notebook;

    import java.util.ArrayList;

     class Value
    {
        private int i;
        public void set(int i)  { this.i=i;}
        public int get(){return i;}
//      public String toString()
//      {
//          return ""+i ;
//      }
    }

    public class yiwen {
        //无限存储用容器,数组有限    ArrayList<元素>  
        public ArrayList<String> notes=new ArrayList<String>();

        public void add(String s)    //增加记录
        {
            notes.add(s);   
        }


//      public String[] list()                 //列出所有记录的数据 
//      {
//          String[] a=new String[notes.size()];
//          for(int i=0;i<notes.size();i++)
//          {
//              a[i]=notes.get(i);
//          }
    //等于下边语句
//          notes.toArray(a);   
//          return a;
//      }

    public static void main(String[] args) {

           ArrayList<String> nb=new ArrayList<String>();
           nb.add("first");
           nb.add("second");
           nb.add("first");
           for(String s:nb)   //for-each循环遍历数组
           {
               System.out.println(s);
           }
           System.out.println("-----------------");
           System.out.println(nb);  
           /*此句好像只有容器这种可以直接出来,否则出来的类似
             notebook.Notebook@16f65612这种*/
     }  
}

输出结果为:
first
second
first
-----------------
[first, second, first]
package notebook;

    import java.util.ArrayList;

     class Value
    {
        private int i;
        public void set(int i)  { this.i=i;}
        public int get(){return i;}
//      public String toString()
//      {
//          return ""+i ;
//      }
    }

    public class yiwen {
        //无限存储用容器,数组有限    ArrayList<元素>  
        public ArrayList<String> notes=new ArrayList<String>();

        public void add(String s)    //增加记录
        {
            notes.add(s);   
        }


//      public String[] list()                 //列出所有记录的数据 
//      {
//          String[] a=new String[notes.size()];
//          for(int i=0;i<notes.size();i++)
//          {
//              a[i]=notes.get(i);
//          }
    //等于下边语句
//          notes.toArray(a);   
//          return a;
//      }

    public static void main(String[] args) {

           ArrayList<String> nb=new ArrayList<String>();
           nb.add("first");
           nb.add("second");
           nb.add("first");
           for(String s:nb)   //for-each循环遍历数组
           {
               System.out.println(s);
           }
           System.out.println("-----------------");
           System.out.println(nb);  
           /*此句好像只有容器这种可以直接出来,否则出来的类似
             notebook.Notebook@16f65612这种*/
           System.out.println("-----------------");

            Value[] b=new Value[10];
            for(int i=0;i<b.length;i++)
            {
              b[i]= new Value();
              b[i].set(i);

            }
            for(Value v:b)
            {
                System.out.println(v);
            }
     }  
}
输出结果为
first
second
first
-----------------
[first, second, first]
-----------------
notebook.Value@16f65612
notebook.Value@311d617d
notebook.Value@7c53a9eb
notebook.Value@ed17bee
notebook.Value@2a33fae0
notebook.Value@707f7052
notebook.Value@11028347
notebook.Value@14899482
notebook.Value@21588809
notebook.Value@2aae9190

这是因为解析出来的是个对象不是Stirng类型的,要重写toSting语句,此程序在Value类里根据实际情况重新写,如下:

public String toString()
        {
            return ""+i ;
        }

输出结果为
first
second
first
-----------------
[first, second, first]
-----------------
0
1
2
3
4
5
6
7
8
9

普通数组遍历 length()
字符串数组遍历两种方法

 public String[] list()                 //列出所有记录的数据 
    {
        String[] a=new String[notes.size()];
        for(int i=0;i<notes.size();i++)
        {
            a[i]=notes.get(i);
        }
//等于下边语句
//      notes.toArray(a);  
        return a;
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chyang1999/article/details/71757663
                                        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
                    <div class="htmledit_views">

相信这是一个很多人都踩过的坑。在Java中,获取数组的长度是利用数组的属性length。而字符串的长度则是字符串对象中的一个获取大小的函数length(),要牢记这两个区别,以免踩坑。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值