当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Vardump

Java 数据结构打印库
授权协议 GPL
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 谷梁宏恺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Vardump简介

Vardump是一个简单可以用于打印各种java数据结构的工具类,多维数组,List类型,Set类型,Map类型,对象类型,类型之间互相套用也没问题

Vardump是我在lcfms框架中封装的一个数据结构打印库,支持独立使用。 点击这里跳转到lcfms

使用环境

jdk1.8+

使用方法

直接调用Vardump.print(各种数据结构),你会神奇的发现所有数据结构一目了然

使用示例

package cn.lcfms.utils;

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

class Obj{
	public int mi=123;
	public String ms="abc";
}

class Bean{
	private int i;
	private String[] strs;
	private Obj obj;
	public void setI(int i) {
		this.i = i;
	}
	public void setStrs(String[] strs) {
		this.strs = strs;
	}
	public void setObj(Obj obj) {
		this.obj = obj;
	}
	public int getI() {
		return i;
	}
	public String[] getStrs() {
		return strs;
	}
	public Obj getObj() {
		return obj;
	}
}

public class Test {	
	@org.junit.jupiter.api.Test
	public void t1() {
		Object[] objects={1,'2',"3",true,null};
    	String[][] strings={{"aaa","bbb","aaa","bbb"},{"aaa","bbb","aaa","bbb"}};
    	HashMap<Object, Object> map=new HashMap<Object, Object>();
    	map.put("aaa", 1);
    	map.put("bbb", 1.5f);
    	map.put("ccc", true);
    	map.put(5.5f, '5');
    	map.put(1, "12345");
    	map.put(true, objects);
    	map.put('g', strings);
    	List<Object> list=new ArrayList<Object>();
    	list.add("abc");
    	list.add('a');
    	list.add(true);
    	list.add(map);
    	list.add(null);
    	Bean bean=new Bean();
    	bean.setI(12345);
    	bean.setObj(new Obj());
    	bean.setStrs(new String[] {"11111","fffffffff","fdddddddd"});
    	list.add(bean);
    	Vardump.print(list);
	}
}

执行打印的结果为:

ArrayList(
    [0]=>(string)"abc" (length=3)
    [1]=>(char)a
    [2]=>(boolean)true
    [3]=>
        HashMap(
            {(string)"aaa" (length=3)=>(int)1}
            {(float)5.5=>(char)5}
            {(int)1=>(string)"12345" (length=5)}
            {(string)"ccc" (length=3)=>(boolean)true}
            {(string)"bbb" (length=3)=>(float)1.5}
            {(char)g=>
                String[](
                    String[](
                        [0]=>(string)"aaa" (length=3)
                        [1]=>(string)"bbb" (length=3)
                        [2]=>(string)"aaa" (length=3)
                        [3]=>(string)"bbb" (length=3)
                    )
                    String[](
                        [0]=>(string)"aaa" (length=3)
                        [1]=>(string)"bbb" (length=3)
                        [2]=>(string)"aaa" (length=3)
                        [3]=>(string)"bbb" (length=3)
                    )
                )
            }
            {(boolean)true=>
                Object[](
                    [0]=>(int)1
                    [1]=>(char)2
                    [2]=>(string)"3" (length=1)
                    [3]=>(boolean)true
                    [4]=>null
                )
            }
        )
    [4]=>null
    [5]=>
        cn.lcfms.utils.Bean(
            i=>(int)12345
            strs=>
                String[](
                    [0]=>(string)"11111" (length=5)
                    [1]=>(string)"fffffffff" (length=9)
                    [2]=>(string)"fdddddddd" (length=9)
                )
            obj=>
                cn.lcfms.utils.Obj(
                    mi=>(int)123
                    ms=>(string)"abc" (length=3)
                )
        )
)

同时支持同时打印http请求的request的cookies,session,parameter

//请求的url为http://localhost/?a=1&b=2&b=123
@RequestMapping("/index")
public String index(HttpServletRequest request) {
	Vardump.print(request);		
	return "index/index";
}

打印的效果如下

request(
    ParameterMap(
        {(string)"a" (length=1)=>
                String[](
                    [0]=>(string)"1" (length=1)
                )
        }
        {(string)"b" (length=1)=>
                String[](
                    [0]=>(string)"2" (length=1)
                    [1]=>(string)"123" (length=3)
                )
        }
    )
    cookies(
        (string)"{(string)"__guid"(length=6)=>(string)111872281.412025206174933600.1541334635043.79(length=45)}" (length=94)
        (string)"{(string)"JSESSIONID"(length=10)=>(string)EBD3C517709D3A58439311546492EEC9(length=32)}" (length=86)
        (string)"{(string)"monitor_count"(length=13)=>(string)63(length=2)}" (length=58)
    )
    session(
        {(string)"realName"(length=8)=>(string)"系统管理员" (length=5)}
        {(string)"img"(length=3)=>(int)0}
        {(string)"aname"(length=5)=>(string)"admin" (length=5)}
        {(string)"mobile"(length=6)=>(string)"13818135252" (length=11)}
        {(string)"dname"(length=5)=>(string)"行政部" (length=3)}
        {(string)"rid"(length=3)=>
                HashSet(
                    [0]=>(int)1
                )
        }
        {(string)"aid"(length=3)=>(int)23}
        {(string)"did"(length=3)=>(int)3}
        {(string)"email"(length=5)=>(string)"admin@lcfms.cn" (length=14)}
        {(string)"status"(length=6)=>(int)1}
    )
)
  • 我们都知道php有很多打印输出,PHP echo ,print,vardump ,那么他们之间的区别是什么呢? 1.echo语句 echo - 能够输出一个以上的字符串 echo " www.dc3688.com"; echo "Hello world! "; echo "I'm about to learn PHP! "; echo "This", " string", " was", " ma

  • 1.echo语句 echo - 能够输出一个以上的字符串 <?php echo "<h2>www.baidu.com</h2>"; echo "Hello world!<br>"; echo "This", " string", " was", " made", " with multiple parameters."; ?> 2,print

  • PHP中echo,print,vardump语句之间的区别是什么 发布时间:2020-09-09 10:27:14 来源:亿速云 阅读:70 作者:小新 小编给大家分享一下PHP中echo,print,vardump语句之间的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1.echo语句 echo - 能够输

  • 我们都知道php有很多打印输出,PHP echo ,print,vardump ,那么他们之间的区别是什么呢? 1、echo语句 echo – 能够输出一个以上的字符串 echo " www.dc3688.com"; echo "Hello world! "; echo "I'm about to learn PHP! "; echo "This", " string", " was", " ma

  • 这篇文章主要介绍了python中实现php的var_dump函数功能,var_dump函数在PHP中调试时非常实用,本文介绍在Python中实现这个函数,需要的朋友可以参考下 最近在做python的web开发(原谅我的多变,好东西总想都学着, 比如我在调试php中最常用的函数,var_dump,在python里找不到合适的替代函数。php中var_dump是一个特别有用的函数,它可以输出任何变量的

  • 不完全是您要查找的内容,但可以使用rtti访问各种已发布属性的值。神奇的程序在typinfo单元中。您可能最感兴趣的是getPropList,它将返回对象属性列表,以及getPropValue,它将允许您获取属性的值。 procedure TForm1.DumpObject( YourObjectInstance : tObject ); var PropList: PPropList; Prop

  • 从网上找了下答案,感觉在这个问题上 争议不大,但是需要明白了解以及掌握的,所以我把感觉别人写的不错的 给弄过来了,省力,呵呵,废话不多说,请看正文: print_r()结构智能地显示传递给它的东西,而不像echo 和print()那样将所有的东西都转换成字符串.字符串和数字都被简单地输出.数组以括起来的键和值的列表形式表示.以Array开头: $arr = array('name'=> 'bob'

  • 下面一一进行介绍。 1. echo echo 是PHP的一个关键字,它没有返回值。在写法上,它可以省略小括号。如下代码: 复制代码 代码如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有。在写法上,它和echo一样,可以省略小括号。如下代码: 复制

  • echo是php的语言结构,可以同时输出多个变量(或字符串),echo()时,没有返回值。 print 手册中将他作为 语言结构,可以不使用(),只能输出一个变量(或字符串),又返回值为1。 print_r()是函数,用于格式化输出数组的结构。 var_dump()函数,用于输出变量的类型、长度(大小)、变量的值。

 相关资料
  • # pprint_data.py data = [ (1, {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D'}), (2, {'e': 'E', 'f': 'F', 'g': 'G', 'h': 'H', 'i': 'I', 'j': 'J', 'k': 'K', 'l': 'L'}), (3, ['m', 'n']),

  • Navicat 让你查看及打印数据库或模式或表的结构。在数据库或模式或表上右击并从弹出菜单选择 列印数据库 或 列印模式 或 列印表。

  • 本文向大家介绍pytorch打印网络结构的实例,包括了pytorch打印网络结构的实例的使用技巧和注意事项,需要的朋友参考一下 最简单的方法当然可以直接print(net),但是这样网络比较复杂的时候效果不太好,看着比较乱;以前使用caffe的时候有一个网站可以在线生成网络框图,tensorflow可以用tensor board,keras中可以用model.summary()、或者plot_mo

  • PHPSSO 数据库结构[更新日期:2010-12-28] 点击查看 PHPCMS 数据库结构[更新日期:2010-12-28] 点击查看

  • 问题内容: 您能帮我如何将实例格式化为易于阅读的格式,例如“ 2010-01-01 15:35:10.0001”吗? 问题答案: 转换using 和,然后追加part。

  • 顺序结构 顺序栈(Sequence Stack) SqStack.cpp 顺序栈数据结构和图片 typedef struct { ElemType *elem; int top; int size; int increment; } SqStack; 队列(Sequence Queue) 队列数据结构 typedef struct { ElemType * elem; int fron

  • 数据结构 Collection 和 Sequence Clojure 常用的数据结构有 List, Map, Vector, Set. 他们都属于 Collection, 之间的关系大致是这样: 属于 Clojure 当中实现的数据结构都是 Collection. 编码当中会遇到 Host 平台的数据类型, 不属于 Collection. 实现了 Collection 的接口的数据结构都支持这些函

  • 1 红黑树 红黑树与AVL的比较: AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多; 红黑是用非严格的平衡来换取增删节点时候旋转次数的降低; 所以简单说,如果你的应用中,搜索的次数远远大于插入和删除,那么选择AVL,如果搜索,插入删除次数几乎差不多,应该选择RB。 红黑树详解: https://xieguanglei.github.io/blog/post/