不同类中具有相同名称的对象类型的地图如何打印的通用方法?
创始人
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)

相关内容

热门资讯

9分钟了解!we-poker软... 9分钟了解!we-poker软件(辅助挂)果然有挂(真实有挂辅助方法)1、全新机制【ai辅助工具激活...
推荐十款!wepoker有什么... 推荐十款!wepoker有什么规律(辅助挂)其实有挂(有挂工具辅助脚本)1、打开软件启动之后找到中间...
传递经验!hhpoker德州作... 传递经验!hhpoker德州作弊(辅助挂)一贯有挂(有挂方式辅助技巧)破解侠是真的助透视。每个模型中...
六分钟了解!aapoker怎么... 六分钟了解!aapoker怎么设置提高好牌几率(辅助挂)竟然真的有挂(有挂总结辅助技巧)一、可以开透...
免费测试版!wejoker开挂... 免费测试版!wejoker开挂(辅助挂)真是真的是有挂(有挂规律辅助插件)是不是有人用挂微扑克wpk...
最新通报!云扑克有透视吗(辅助... 最新通报!云扑克有透视吗(辅助挂)竟然真的是有挂(有挂方针辅助软件)1、模拟器是什么优化,俱乐部是真...
重大通报!aapoker辅助插... 重大通报!aapoker辅助插件工具(辅助挂)其实有挂(新版有挂辅助工具)1、下载好脚本下载之后点击...
揭秘!黑侠破解wepoker(... 揭秘!黑侠破解wepoker(辅助挂)确实是有挂(有挂方法辅助器)1、辅助器安装包、辅助器2、分享自...
查到实测辅助!hhpoker辅... 查到实测辅助!hhpoker辅助器视频(辅助挂)一贯是有挂(发现有挂辅助攻略)1、玩家可以在透视最简...
一分钟秒懂!wepoker辅助... 一分钟秒懂!wepoker辅助真的假的(辅助挂)果然有挂(详细教程辅助插件)一、可以开透视的定义与意...