不同类中具有相同名称的对象类型的地图如何打印的通用方法?
创始人
2025-01-09 09:00:40
0

我们可以使用Java的泛型来解决这个问题。以下是一个示例程序,演示如何使用泛型打印出不同类中具有相同名称的对象类型的地图。

import java.util.*;

public class MapPrinter {
    public static  void printMap(Map map) {
        for (Map.Entry entry : map.entrySet()) {
            String key = entry.getKey();
            T value = entry.getValue();
            System.out.println(key + " = " + value);
        }
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return name + ", age " + age;
    }
}

class Animal {
    private String name;
    private String species;

    public Animal(String name, String species) {
        this.name = name;
        this.species = species;
    }

    @Override
    public String toString() {
        return name + " (" + species + ")";
    }
}

class Main {
    public static void main(String[] args) {
        Map personMap = new HashMap<>();
        personMap.put("Alice", new Person("Alice", 25));
        personMap.put("Bob", new Person("Bob", 30));

        Map animalMap = new HashMap<>();
        animalMap.put("Fluffy", new Animal("Fluffy", "Cat"));
        animalMap.put("Rover", new Animal("Rover", "Dog"));

        System.out.println("Person map:");
        MapPrinter.printMap(personMap);

        System.out.println("\nAnimal map:");
        MapPrinter.printMap(animalMap);
    }
}

在上面的例子中,我们定义了一个泛型方法printMap,它接受一个字符串键和一个类型为T的值的映射。我们可以在Main类中创建一个Map对象,其中PersonAnimal是值的类型。然后我们调用MapPrinter.printMap()方法,传递我们创建的两个不同类型的地图。该程序将正确打印每个Map对象中的数据。

输出:

Person map:
Alice = Alice, age 25
Bob = Bob, age 30

Animal map:
Fluffy = Fluffy (Cat)
Rover = Rover (Dog)

相关内容

热门资讯

四分钟实锤!德扑之星作弊(德州... 四分钟实锤!德扑之星作弊(德州app)都是是真的有挂(详细辅助安装教程)1、金币登录送、破产送、升级...
第3分钟实锤!智星德州菠萝开挂... 第3分钟实锤!智星德州菠萝开挂(德州ai)真是有挂(详细辅助2025新版总结)1、玩家可以在智星德州...
四分钟实锤!德扑之星有猫腻(德... 四分钟实锤!德扑之星有猫腻(德州app)其实是有挂(详细辅助详细教程)1、德扑之星有猫腻透视辅助简单...
6分钟实锤!德州ai辅助有用(... 6分钟实锤!德州ai辅助有用(线上wpk德州)其实有挂(详细辅助实用技巧)一、德州ai辅助有用软件透...
第5分钟实锤!智星德州菠萝有挂... 第5分钟实锤!智星德州菠萝有挂吗(德州之星)原来是有挂(详细辅助曝光教程);第5分钟实锤!智星德州菠...
第4分钟实锤!德州之星有辅助挂... 第4分钟实锤!德州之星有辅助挂(智星德州)果然真的是有挂(详细辅助必胜教程);小薇(透视辅助)致您一...
四分钟实锤!德扑ai助手(德州... 四分钟实锤!德扑ai助手(德州nzt)原来存在有挂(详细辅助AA德州教程)1、下载好德扑ai助手辅助...
1分钟实锤!智星德州菠萝开挂(... 1分钟实锤!智星德州菠萝开挂(德州机器人)确实真的有挂(详细辅助2025新版技巧)1、完成智星德州菠...
9分钟实锤!德州ai辅助软件(... 9分钟实锤!德州ai辅助软件(德州ai)竟然是有挂(详细辅助曝光教程)1、任何德州ai辅助软件ai辅...
九分钟实锤!德扑之星有作弊(手... 九分钟实锤!德扑之星有作弊(手机德州)切实存在有挂(详细辅助安装教程);所有人都在同一条线上,像星星...