1

您好,我正在为 minecraft bukkit 制作一个新插件,但我必须列出其中包含位置的玩家列表。

所以我很难用 3 个整数和一个字符串制作一个列表。3 个整数用于位置,字符串用于玩家名称。

但是我如何制作一个包含 3 个整数和一个字符串的列表,然后如何在玩家姓名上找到整数?

示例:我保存 3 个整数和我的玩家名称 12、20、10 这些是坐标 nobleleader13245 这是我的玩家名称

现在我将这些东西保存到列表中,我想取回坐标,所以我在列表中搜索玩家名,但我该怎么做呢?

对不起,如果我的例子不好或者我的英语不好,我希望有人能帮助我。

编辑 :

所以现在我有代码 tieTYT 建议我它可以工作,但现在我需要从列表中取回它。我怎么做?

所以我认为我必须查看列表并将发件人姓名与列出的玩家进行比较,如果其中之一相等,则获取整数,但如何?抱歉,我在 Java 方面有点菜鸟,但我尝试学习它!

4

1 回答 1

2

你试图做的不是惯用的。相反,创建一个包含 3 个整数和 1 个字符串的类,然后将此类添加到您的列表中。

做你所要求的唯一方法是不要将泛型放在列表中,如下所示:

package com.sandbox;

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

public class Sandbox {

    public static void main(String[] args) {
        List rawInput = new ArrayList();
        rawInput.add(1);
        rawInput.add(2);
        rawInput.add(3);
        rawInput.add("s");                
    }

}

而且,虽然这可以编译,但它很糟糕,并给你警告,这是有充分理由的。相反,创建一个这样的类:

package com.sandbox;

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

public class Sandbox {

    public static void main(String[] args) {
        List<Character> rawInput = new ArrayList<Character>();
        rawInput.add(new Character("Foo", new Location(1, 2, 3)));        
    }

    public static class Character {

        private String name;

        private Location location;
        public Character(String name, Location location) {
            this.name = name;
            this.location = location;
        }
    }

    public static class Location {
        private int x;
        private int y;
        private int z;

        public Location(int x, int y, int z) {
            this.x = x;
            this.y = y;
            this.z = z;
        }
    }

}
于 2013-06-11T21:50:38.730 回答