前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java工具类:一次性打印输出自定义的所有变量(再也不用一次次地使用System.out.println()输出变量)

Java工具类:一次性打印输出自定义的所有变量(再也不用一次次地使用System.out.println()输出变量)

作者头像
静谧星空TEL
发布2021-04-27 10:10:50
6410
发布2021-04-27 10:10:50
举报
文章被收录于专栏:云计算与大数据技术

                                Java工具类:一次性打印输出自定义的所有变量

利用java的可变参数可一次性把方法中或类中自定义的变量一次性传递到方法的参数中, 对于数组类型的参数通过object[i].getClass().isArray()判断是否为数组,然后再把object参数转化为object[]数组 最后循环输出。方法返回true表示打印成功,否则失败或者报错。

代码语言:javascript
复制
	/**
	 * 遍历输出数组型的可变参数
	 * @param object
	 * @return
	 */
	public Boolean printArrays(Object ...object) {
		Boolean flag = false;
		for (int i=0;i<object.length;i++) {
			//判断参数是否是数组
			if(object[i].getClass().isArray()) {
				//获取数组的长度
				int length = Array.getLength(object[i]);
				//自定义一个object类型的数组
				Object[] Obj = new Object[length];
				//使用 Array.get方法,把数组的值存到Object数组中
				for (int j = 0; j < Obj.length; j++) {
					Obj[j] = Array.get(object[i], j);
				}
				//遍历输出数组
				System.out.println("object["+i+"]:"+Arrays.deepToString(Obj));
			}else {
				System.out.println("object["+i+"]:"+object[i]);
			}
		}
		flag = true;
		return flag;
	}

mian方法测试:

代码语言:javascript
复制
	public static void main(String[] args) {
		CommentUtils utils = new CommentUtils();
		String s = "爱因斯坦";
		Integer i = 1000;
		double dd = 4502.434D;
		int[] in = {1,3,4,5,6};
		int[][] num = {{1,2,3},{4,5,6},{7,8,9}};
		User user = new User("银河系","新东方");
		String[] str = {"松岛枫","回防高地"};
		List arr = new ArrayList();
		Collections.addAll(arr,i,s,in,dd,in,num,str,user);
		utils.printArrays(i,s,in,dd,in,num,str,user,arr);
	} 
 
 

测试结果:

可以看到,传递的参数可以是基本数据类型、一位数组和二维数组以及对象都可以依次打印出来! 所有代码:

代码语言:python
代码运行次数:0
复制
package com.gxwz.util;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.springframework.stereotype.Service;

import com.gxwz.entity.User;

@Service
public class CommentUtils {

	/**
	 * 遍历输出非数组型的可变参数
	 * @param object
	 * @return
	 */
	public Boolean print(Object ...object) {
		Boolean flag = false;
		for (int i = 0; i < object.length; i++) {
			System.out.println("object["+i+"]:"+object[i]);
		}
		flag = true;
		return flag;
	}
	/**
	 * 遍历输出数组型的可变参数
	 * @param object
	 * @return
	 */
	public Boolean printArrays(Object ...object) {
		Boolean flag = false;
		for (int i=0;i{1,2,3},{4,5,6},{7,8,9}};
		User user = new User("银河系","新东方");
		String[] str = {"松岛枫","回防高地"};
		List arr = new ArrayList();
		Collections.addAll(arr,i,s,in,dd,in,num,str,user);
		utils.printArrays(i,s,in,dd,in,num,str,user,arr);
	}
}
 
 

开发时测试数据可能很多时候都需要打印输出进行测试,但是测试的数据多了代码会变得臃肿冗余。 可以利用使用spring框架的小伙伴只需要添加注解注入就可以了, 不使用spring框架的话可以把类改成静态方法直接调用。 今天就分享到这里了!如有需要改进的地方还请大家多指点!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •                                 Java工具类:一次性打印输出自定义的所有变量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档