如何从Java中的两个对象中检索值?

时间:2015-04-26 05:43:18

标签: java

我想做以下事情:

{{1}}

如何使用两个对象作为Java中的键来创建这些getter和setter?

2 个答案:

答案 0 :(得分:1)

您的问题中的语法看起来更像C#,并且在Java中无效,其中数组索引必须是整数。

您可以创建一个包含对两个对象的引用的Pair<F,S>类。

然后您可以创建HashMap<Pair<MyObject,MyObject>,Integer>,因此一对MyObject个实例将作为密钥。

Map<Pair<MyObject,MyObject>,Integer> values = new HashMap<>();

然后您将使用以下内容分配值:

values.put(new Pair<>(obj1,ob2), 1);

并获取值:

Integer someValue = values.get(new Pair<>(obj1,ob2));

您必须正确覆盖equals,而hashCodePair类和MyObject类。

答案 1 :(得分:0)

你可以使用另一个类来返回两个对象..可能你可以解决这个问题

    final class MyResultObject {
            private final MyObject firstObject;
            private final MyObject secondObject;
        private final int key;
            public MyResult(MyObject firstObject, MyObject secondObject ,int key) {
                this.firstObject = firstObject;
                this.secondObject = secondObject;
                this.key=key;
            }


    public int getKey() {
                return key;
            }
    Public int getKeyValue(MyObject Object1, MyObject Object2){

}
        }

       //and then you can workaround this
        public static void main(String[] args) {
            MyResultObject resultOb = new MyResultObject(obj1,obj2,1);
            System.out.println(resultOb.getFirstObject() + resultOb.getSecondOBject());
        }