重写LinkedHashMap的toString方法
2017-09-12 15:10
387 查看
package com.aruisi.text; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Set; class MyLinkedHashMap<K, V> extends LinkedHashMap<K, V> { private static final long serialVersionUID = 3070817484595053820L; @Override public String toString() { Set<java.util.Map.Entry<K, V>> keyset = this.entrySet(); Iterator<java.util.Map.Entry<K, V>> i = keyset.iterator(); if (!i.hasNext()) return "{}"; StringBuffer sb = new StringBuffer(); sb.append('{'); for (;;) { java.util.Map.Entry<K, V> me = i.next(); K key = me.getKey(); V value = me.getValue(); sb.append(key == this ? "(this Map)" : key); sb.append('='); sb.append(value == this ? "(this Map)" : value.getClass().isArray() ? Arrays.toString((Object[]) value) : value); if (!i.hasNext()) return sb.append('}').toString(); sb.append(',').append(' '); } } }
测试类
package com.aruisi.text;
import java.util.HashMap;
import java.util.LinkedHashMap;
public class Map {
public static void main(String[] args) {
HashMap<Object, Object> map = new LinkedHashMap<>();
String[] string = new String[] { "s", "z", "", "5232" };
Integer[] integer = new Integer[] { 1, 2, 4 };
map.put("userId", "123");
map.put("farmId", "3234");
map.put("xxxId", "axsx");
map.put("uuuId", "65657667");
map.put("string", string);
map.put("integer", integer);
System.out.println(map.toString());
MyLinkedHashMap<Object, Object> name = new MyLinkedHashMap<>();
name.put("userId", "123");
name.put("farmId", "3234");
name.put("xxxId", "axsx");
name.put("uuuId", "65657667");
name.put("string", string);
name.put("integer", integer);
System.out.println("MyLinkedHashMap=" + name.toString());
}
}
相关文章推荐
- 重写toString()方法
- override重写 object类的ToString()方法。
- java上机课代码。。。重写equals方法,toString方法。。。
- 重写toString方法需要注意的
- javascript模拟重载,toString方法的重写
- Java重写toString方法
- java反射 重写类的toString方法 转化为每个字段名为标签的xml
- 一个重写的ToString()方法引发的装箱
- 【Core Java Volume1】重写equals,hashCode,toString方法
- C#...何时需要重写ToString()方法?
- 类----类的封装测试,构造方法,toString()重写
- 巧用重写toString的方法,输出格式的问题留给java帮我解决吧~
- Java类中重写toString方法
- Array.prototype.toString方法重写
- C#何时需要重写ToString()方法
- 40_面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- 记录日志时重写持久化类的toString()方法
- 为何重写toString方法后会使哈希码能够打印出来
- 重写toString方法的好处
- Object 开发中常用的重写方法总结toString,equals,hashCode,compareTo