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

相关内容

热门资讯

德扑之星花钱!德扑之星系统发牌... 德扑之星花钱!德扑之星系统发牌机制,德扑ai软件真是真的有挂(详细房间设置教程);支持多人共享记分板...
德州之星有外卦挂!德扑胜率计算... 德州之星有外卦挂!德扑胜率计算软件,德扑之星开桌真是是有挂(详细智能教程)1、点击下载安装,微扑克w...
微扑克辅助软件!微扑克辅助器是... 微扑克辅助软件!微扑克辅助器是骗人吗,(微扑克)其实是有挂(详细辅助机器人教程)1、每一步都需要思考...
红龙扑克辅助挂!红龙扑克辅助工... WePoker透视辅助版本稳定性对比与推荐‌:红龙扑克辅助挂!红龙扑克辅助工具,(红龙扑克)都是真的...
德扑输赢!德扑保险计算器,德扑... 德扑输赢!德扑保险计算器,德扑机器人一直是有挂(详细ai智能教程);亲,其实确实真的有挂(需添加指定...
aapoker透明挂!wepo... aapoker透明挂!wepoke ai代打辅助(wepoke透明挂)本来有挂(详细透明挂教程);亲...
红龙扑克辅助挂!红龙扑克是正规... 红龙扑克辅助挂!红龙扑克是正规的吗,(红龙扑克)一贯是真的有挂(详细辅助挂教程);是一种具有地方特色...
德州AI智能辅助机器人!德扑输... 德州AI智能辅助机器人!德扑输赢概率计算器,德扑之星开桌一贯有挂(详细ai怎么系统教程);原来确实真...
aapoker透明挂!aapo... aapoker透明挂!aapoker辅助是真的吗,(aa扑克有外挂)竟然真的是有挂(详细有挂教程);...
德扑之星ai代打!德扑之星用刷... 德扑之星ai代打!德扑之星用刷数据吗,德扑之星破解竟然是真的有挂(详细ai智能教程)关于德扑之星ai...