精华内容
下载资源
问答
  • java对象数组 创建对象数组,初始化对象数组

    万次阅读 多人点赞 2019-07-30 16:34:15
    对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。 对象数组的定义和使用: 对象数组的...

    对象数组的概念:
    如果一个数组中的元素是对象类型,则称该数组为对象数组。
    当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。
    对象数组的定义和使用:
    对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。
    对象数组的声明形式是:
    类名 对象数组名 [ ];
    为对象数组分配内存空间:
    对象数组名=new 类名[数组长度];//注意 :此处不是构造方法了
    可以将对象数组的声明和创建用一条语句来完成。例如:定义一个学生类对象数组,可以用下面的语句定义:Student stu[ ]=new Student[30]; stu [ ]是对象数组名,它所表示的数组一共有30个元素,每一个元素都是Student类的对象名,还没有实例化,所以还必须为每一个元素实例化。比如如下的过程:
    for(int i=0;i<stu.length;i++)
    stu[i]=new Student();
    实例化以后就可以使用每一个元素对象。
    设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息

    //设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息
    class Employee {   //雇员类
     private String id;  //编号
     private String name; //姓名
     private int age;     //年龄
     private String vocation; //职务
     public Employee(){} //构造方法一
     public Employee(String id,String name,int age,String vocation){
      set(id,name,age,vocation);
     }
     //设置属性的方法
     public void set(String id,String name,int age,String vocation){
      this.id=id;
      this.name=name;
      this.age=age;
      this.vocation=vocation;
     }
     public String toString() {
      String mess=id+","+name+","+age+","+vocation;
      return mess;
     }
    }
    public class Example4  {
     public static void main(String[] args) {
      Employee 雇员[]=new Employee[3];
      int i;
      for(i=0;i<雇员.length;i++)//为对象数组中每一个元素实例化
      雇员[i]=new Employee();//如果没有写构造方法一,而这样写,会出错
      //因为类中有有参的构造方法,系统就不会在默认给无参的构造方法了,
      //所以当类中写了有参的构造方法后,要用无参的构造方法时必须写出来
      
      //每一个对象元素分别初始化
      雇员[0].set("0001","张文军",50,"总经理");
      雇员[1].set("0002","李琦",45,"副经理");
      雇员[2].set("1016","张丽",28,"秘书");
      for (Employee employee:雇员)
       System.out.println(employee.toString());
     }
    }
    

    在这里插入图片描述
    普通型for循环和增强型for循环
    普通型

    a={1,2,3,4,5};
    for(int i=0;i<a.length;i++) {
     System.out.println9(a[1]);
    }
    

    增强型

    for(int element:a) {
    System.out.println(element);
    }
    

    两者结果相同,但是增强型更为简洁

    对象数组还可以采用初始化的方法创建。创建形式是:
    类名 对象数组名[ ]={对象列表};

    设计一个雇员类,创建雇员类的对象数组并初始化,输出每个雇员的信息,仍然沿用上面的Employee类,程序如下

    class Employee {   //雇员类
     private String id;  //编号
     private String name; //姓名
     private int age;     //年龄
     private String vocation; //职务
     public Employee(){} //构造方法一
     public Employee(String id,String name,int age,String vocation){
      set(id,name,age,vocation);
     }
     //设置属性的方法
     public void set(String id,String name,int age,String vocation){
      this.id=id;
      this.name=name;
      this.age=age;
      this.vocation=vocation;
     }
     public String toString() {
      String mess=id+","+name+","+age+","+vocation;
      return mess;
     }
    }
    public class Example11 {
     public static void main(String[] args) {
      //先创建3个雇员对象
      Employee employee1=new Employee("0001","张文军",50,"总经理");
      Employee employee2=new Employee("0005","李琦",45,"副经理");
      Employee employee3=new Employee("1016","张丽",28,"秘书");
      //声明对象数组并直接初始化
      Employee 雇员1[]={employee1,employee2,employee3};
      output(雇员1);//输出雇员信息
      System.out.println("------------------");//分割线
      //声明对象数组并直接初始化,初始化元素直接调用
      //构造方法创建对象
      Employee 雇员2[]={new Employee("0001","张文军",50,"总经理"),
      new Employee("0005","李琦",45,"副经理"),
      new Employee("1016","张丽",28,"秘书")};
      output(雇员2);
     }
     //定义方法用于输出雇员信息,注意方法是private,static
     private static void output(Employee 雇员[]){
      for(Employee employee:雇员)
       System.out.println(employee.toString());
     }
    }
    

    在这里插入图片描述

    展开全文
  • 其实这里还有个问题,就是为什么用json字符串转java对象数组? 答:前端传给后端参数的时候,由于 tag 是多个值,数组的形式,但是后台接收的时候会莫名其妙出现个{ } ,导致接收到的是这样的-- tag:{"[ ]"} 的...

    应用版本:SpringBoot 2.0 版本 , Tomcat 1.8  , Intellij Idea ,springDataJpa  

    //查询多个表,在某个站点下的指定tag的统计值
        @Query(value = " where name IN (?1)) and source_time between ?2 and ?3",nativeQuery = true)
        List selectTable(List<String> tag ,Timestamp time1,Timestamp time2);

    多表查询,语句就不写了,in(?1)  ,?1 包含多个值,前端传过来参数,本人接收,然后查询数据库进行返回。【前后端分离,且本人只做查询】

    其实这里还有个问题,就是为什么用json字符串转java对象数组?

    答:前端传给后端参数的时候,由于 tag 是多个值,数组的形式,但是后台接收的时候会莫名其妙出现个{ } ,导致接收到的是这样的-- tag:{"[ ]"}  的东西,SpringBoot 这里不识别这个{ } ,所以需要解析一下参数,就有了用json字符串转java对象数组。

    @GetMapping("/selectTables")
    public  List selectTable(String tag ,Timestamp time1 ,Timestamp time2){
        //json 字符串 转java 对象数组
        JSONArray json = JSONArray.fromObject(tag);
        List<String> tags = (List<String>)JSONArray.toCollection(json, String.class);
        return metricsRepository.selectTable(tags,time1 ,time2);
    }

     参考: json字符串转java对象数组

    展开全文
  • Java对象数组深拷贝

    千次阅读 2017-07-16 19:57:10
    Java对象数组深复制

    Java对象数组深复制

    1.今天做项目的时候遇到了一个java数组深拷贝的问题,当时直接使用了Object对象的clone方法,结果不管用。

    ArrayList<Cell> cells = ArrayList<Cell>();
    ArrayList<Cell> init_cells = new ArrayList<Cell>();
    init_cells = (ArrayList<Cell>) cells.clone();
    执行以下的测试代码:
    System.out.println(init_cells.get(0).name);
    cells.get(0).name = "aaaaaaaa";
    System.out.println(init_cells.get(0).name);

    结果输出的结果是

    c1
    aaaaaaa

    对象数组深拷贝失败
    解决方法:
    1.将需要深拷贝的对象实现Cloneable接口
    2.对对象数组中的每一个对象进行深拷贝

    public static void deep_clone(ArrayList<Cell> clone_cells){
        for(Cell c : cells){
                clone_cells.add((Cell) c.clone());
            }
    }
    deep_clone(init_cells);
    System.out.println(init_cells.get(0).name);
    cells.get(0).name = "aaaaaaaa";
    System.out.println(init_cells.get(0).name);

    在Cell.java中实现Cloneable接口

    public class Cell implements Cloneable {
        public Object clone() {
            Cell o = null;
            try {
                o = (Cell) super.clone();
            } catch (CloneNotSupportedException e) {
                e.printStackTrace();
            }
            return o;
        }
    }

    最后输出结果是:

    c1
    c1
    展开全文
  • java object数组转成string数组

    千次阅读 2019-02-26 10:24:31
    private String[] getIndexNamesByTime(TraceLogRequestDto t, String indexName) { String startTime = t.getStartTime(); String endTime = t.getEndTime(); List&lt;String&gt; days ...
      private String[] getIndexNamesByTime(TraceLogRequestDto t, String indexName) {
            String startTime = t.getStartTime();
            String endTime = t.getEndTime();
            List<String> days = DateUtils.getDays(startTime, endTime);
            //得到 索引类型为 log-trace-2019-01-02
            List<String> indexNames = days.stream().map(m ->  indexName+"-"+ m ).collect(Collectors.toList());
            //默认包含indexName
            indexNames.add(indexName);
            String[] res = (String[]) indexNames.toArray(new String[indexNames.size()]);
            return res;
        }

     

    展开全文
  • 对象数组通过FastJSON成JSON数组,但是前台ajax收到数据遍历变成了一个一个的字符,不能通过下标获取整个对象数组了。   解决办法:在前端ajax的回调函数中加上 var jsons = JSON.parse( data ); 后台代码如下...
  • java 对象数组怎么转换为double数组

    千次阅读 2011-06-09 22:49:00
    import java.util.*;public class Test { public static void main(String[] args) { List Num_num = new ArrayList(); List Num = new ArrayList(); String Str1 = "12"; String Str2 = "34"; Num.ad
  • 我最近在看一个spring的代码,想自己添加一个注入对象数组的功能(做法应该比较野路子)。但是对象数组转换有些疑问: 首先我拿到了数组元素类型 class,类型是一个自定义类,比如stu,teacher,person等等, 然后我...
  • java对象数组元素替换实例

    千次阅读 2019-07-09 16:24:05
    对象数组元素替换实例(普通方法) import java.util.Scanner; //对象数组的元素替换,原理是检索下标用新内容替换掉旧内容 public class Test1 { String name; int age ; double score; public Test1...
  • JAVA笔记- JAVA对象数组的遍历与使用详解

    千次阅读 多人点赞 2019-05-31 17:44:31
    1- 对象数组概述 基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3,4} 对象数组:存储的元素为引用类型 Student[] stus=new Student[3]; 解释:: Student代表一个自定义类 Stus数组中stus[0],stus[1],stus[2]...
  • package ArrayList; import java.util.*; public class what { public static void main(String []... //用ArrayList创建数组列表,然后将数组列表用toArray拷贝到普通的对象数组中去 ArrayList staff=new Array
  • 1、我们在做批量处理的时候,都希望传递一个对象数组到后来,这样存入数据库也就很方便了。首先来看一下我前端js代码片段: function addUser(){ var $users = $("input:checked[name='selectUser']"); var engi
  • 关于Java对象数组赋值的问题

    千次阅读 2019-12-18 12:18:49
    在写Java大作业时需要对对象数组赋值,而我的程序在赋值完后,我发现对象数组中的每个对象都相同。 定义对象数组 读取文件中的数据,设置一个临时变量stu储存每一个对象的信息并赋值 上诉代码每次赋玩值后都输出第...
  • 对象数组 对象数组的元素为引用数据类型,例如类,接口 和基本数据类型一样,对象数组初始化也分为静态初始化,动态初始化两种 对象数组动态初始化 //定义Person类 class Person { public int age; } //...
  • object数组转换Long数组

    千次阅读 2017-11-15 12:44:13
    (Object[]) params.get(...//它是一个object数组。 Long[] vehicleIds = new Long[ ((Object[]) params.get("configLevelIds")).length ];//定义一个Long类型的数组 System.arraycopy((Object[]) params.get("confi
  • Java有个问题就是toArray()方法是Object[],所以总结了几种Object数组转成String 数组的方法: 1、System.arraycopy 把一个数组中某一段字节数据放到另一个数组中 //src:源数组;srcPos:源数组要复制的起始位置;...
  • Java对象数组按照其属性排序的方法

    千次阅读 2018-11-14 23:17:04
    当我们有一组物品也就是一个对象数组时,我们会希望这组物品按照它的某个属性来排序 也就是需要对象数组按照其属性排序 一 类定义时实现Comparable接口,定义自身的比较算法。 要排序就要有比较的方法, 因为是...
  • Java中File,byte[],Object间的转换  1、Object 对象必须是可序列化对象 。   2、可序列化的 Object 对象都可以转换为一个磁盘文件;反过来则不一定成立,只有序列化文件才可以转换为Object对象。   ...
  • java对象数组去重排序

    千次阅读 2018-02-07 18:25:39
     在对象中重写equals和hashCode方法: @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ShippingCostVo
  • Object数组转String数组

    千次阅读 2020-09-09 19:45:52
    1、System.arraycopy把一个数组中某一段字节数据放到另一个数组中 //src:源数组;srcPos:源数组要复制的起始位置;dest:目的数组;destPos:目的数组放置的起始位置;length:复制的长度. public static void arraycopy...
  • javaObject数组转换为指定类型数组

    万次阅读 2019-01-17 14:25:33
     将Object数组转换为指定类型数组 1.转换函数 public static &lt;T&gt; T[] convertArray(Class&lt;T&gt; targetType, Object[] arrayObjects) { if (targetType == null) { return (T[]) ...
  • package test;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import bean.Option;public class ...{ /** * Java对象 -> JSON字符串 
  • JSON传java对象数组到后台解析

    千次阅读 2017-03-29 09:03:59
    前台对象为ligerUI表格中的数据 1).首先获取需要转发的对象数据(使用ligerUI的内置方法) var rowArr = manager.getSelectedRows(); 2)....function getAllEmp(){ ...var rowArr = manager.... //申明一个数组对象
  • 主要为大家详细介绍了java对象转成byte数组的3种方法,具有一定的参考价值,感兴趣的朋友可以参考一下
  • java-对象数组转换为json

    热门讨论 2013-05-06 11:15:11
    java-对象数组转换为json,自己的记录,能帮到人更好
  • Object[]parameters=new Object[]{new String[]{"M","W","Q"}}这条语句怎么理解?
  • Java对象数组序列化与反序列化

    千次阅读 2014-12-05 22:56:41
    先创建一个Java Bean /**一个low的Java Bean*/ public class Box implements Serializable{ private int width; private int height; public Box(){ } public Box(int width,int height){ ...
  • java Object数组转为int类型数组

    千次阅读 2019-10-11 11:59:27
    1.以后应该尽量使用封装类型 具体的实现使用Arrays.copyofRange()进行拷贝 ...Object[] array = set.toArray(); //这里会生成一个Object[] a = Arrays.copyOfRange(array, 0, 5,Integer[].class); ...
  • Java子类对象可以强制转换为父类对象,但是子类对象数字不能强制转换为父类对象数组如下:public void test(Number n){...}test(new Float(2)); // 这是正确的public void test2(Number n[]){...}Float t[] = {new ...
  • Java数组对象转型

    2016-09-19 17:22:53
    Java数组对象转型

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 440,678
精华内容 176,271
关键字:

object转java对象数组

java 订阅