zoukankan      html  css  js  c++  java
  • List的设置值,跟变量的位置关系(变量范围的变化导致结果差别很大)

    我们想要的结果是:

    [RegnTypeCharge: null,null,null,null,1,null,null,null,null,null,null,null,null,null,null,]
    [RegnTypeCharge: null,null,null,null,hehe,null,null,null,null,null,null,null,null,null,null,]
    com.kompakar.ehealth.model.regn.mstr.common.view.RegnTypeChargeView@addbf1
    com.kompakar.ehealth.model.regn.mstr.common.view.RegnTypeChargeView@42e816

    需要的代码是:

    package com.kompakar.ehealth.server.regn.mstr.common.service.impl;

    import java.util.ArrayList;
    import java.util.List;

    import com.kompakar.ehealth.model.bridge.bo.RegnTypeCharge;
    import com.kompakar.ehealth.model.regn.mstr.common.view.RegnTypeChargeView;

    public class Test {

    /**
    * @param args
    */
    public static void main(String[] args) {

    RegnTypeCharge bo = new RegnTypeCharge();
    bo.setVisitType("1");
    RegnTypeCharge bo2 = new RegnTypeCharge();
    bo2.setVisitType("hehe");

    List<RegnTypeCharge> list = new ArrayList<RegnTypeCharge>();
    list.add(bo);
    list.add(bo2);


    List<RegnTypeChargeView> list2 = new ArrayList<RegnTypeChargeView>();

    // RegnTypeChargeView view = new RegnTypeChargeView();
    for(int i=0; i < list.size(); i++){
    RegnTypeChargeView view = new RegnTypeChargeView();
    view.setRegnTypeCharge(list.get(i));
    list2.add(view);

    }

    System.out.println(list2.get(0).getRegnTypeCharge());
    System.out.println(list2.get(1).getRegnTypeCharge());
    System.out.println(list2.get(0));
    System.out.println(list2.get(1));

    }

    }

    而如果这么写的话:

    package com.kompakar.ehealth.server.regn.mstr.common.service.impl;

    import java.util.ArrayList;
    import java.util.List;

    import com.kompakar.ehealth.model.bridge.bo.RegnTypeCharge;
    import com.kompakar.ehealth.model.regn.mstr.common.view.RegnTypeChargeView;

    public class Test {

    /**
    * @param args
    */
    public static void main(String[] args) {

    RegnTypeCharge bo = new RegnTypeCharge();
    bo.setVisitType("1");
    RegnTypeCharge bo2 = new RegnTypeCharge();
    bo2.setVisitType("hehe");

    List<RegnTypeCharge> list = new ArrayList<RegnTypeCharge>();
    list.add(bo);
    list.add(bo2);


    List<RegnTypeChargeView> list2 = new ArrayList<RegnTypeChargeView>();

    RegnTypeChargeView view = new RegnTypeChargeView();
    for(int i=0; i < list.size(); i++){
    // RegnTypeChargeView view = new RegnTypeChargeView();
    view.setRegnTypeCharge(list.get(i));
    list2.add(view);

    }

    System.out.println(list2.get(0).getRegnTypeCharge());
    System.out.println(list2.get(1).getRegnTypeCharge());
    System.out.println(list2.get(0));
    System.out.println(list2.get(1));

    }

    }

    将导致这样的结果

    [RegnTypeCharge: null,null,null,null,hehe,null,null,null,null,null,null,null,null,null,null,]
    [RegnTypeCharge: null,null,null,null,hehe,null,null,null,null,null,null,null,null,null,null,]
    com.kompakar.ehealth.model.regn.mstr.common.view.RegnTypeChargeView@addbf1
    com.kompakar.ehealth.model.regn.mstr.common.view.RegnTypeChargeView@addbf1

  • 相关阅读:
    ***:做人的基本原则(看完终身受益)
    ref和out的相同和不同的讨论
    关于继承和虚函数的入门讨论
    C#中利用ArrayList来对索引器访问越界情况进行内容的扩充处理
    [C#]实现IEnumerable接口来使用foreach语句的一个实例
    浅谈MSSQL锁机制
    jQuery图片分屏加载技术插件
    SET IDENTITY_INSERT [Table] [ON|OFF]
    SQL Server DATEPART() 函数
    常用的SQL语句对数据库进行操作
  • 原文地址:https://www.cnblogs.com/burns/p/3928704.html
Copyright © 2011-2022 走看看