在我们开始之前,我应该提一下,我正在尝试在Android中执行此操作,但我认为这与我在此问题中要特别解决的内容无关。
我还应该提一下,我已经看过类似的事情了,虽然他们并没有完全帮助我做我想做的事情。虽然其中一些帮助我对如何做到这一点有了一般性的了解,但最后,我对其他用户过于具体的问题感到无助。
我认为澄清我对Java编程相对较新是很有用的,对复杂数据结构的经验或知识很少。
我想做的是如下:
假设我有一个名为WordThing的类,它包含两个名为name和color的字符串,以及一个名为picture的int(用于检索图像按钮的ID)。我还有一个名为uno的单独的char,其值为a。有一个名为a的WordThing实例,其值已正确分配。我想询问是否可以使用uno的值调用WordThing的值之一,如下所示:
getValue(uno).picture
虽然我知道上面的例子在很多方面都是不正确的,但我在问这样的事情是否可行。
为了澄清,实际上有更多的角色而不仅仅是uno,即四个,都有不同的字母,需要随机化。我的目的是使用这些随机字母调用四个不同的WordThing实例,其值将用于更改给定View的某些元素,如下所示:
upperleftButton.setImageResource(getValue(uno).picture);
感谢任何形式的帮助。
答案 0 :(得分:0)
您正在寻找的是Map,也称为关联数组或字典。地图用于存储键/值对中的项目,其中键可用于在地图中查找值。在java(和android)中,你可以使用这样的地图。
Map<String, WordThing> wordThingMap = new HashMap<String, WordThing>();
// Add some items to the map
wordThingMap.put("a", new WordThing());
wordThingMap.put("b", new WordThing());
// Do some other stuff
someSuperSpecialMethod();
// Retrieve values from the map
WordThing a = map.get("a");
作为旁注,您应该考虑重新命名一些变量。 WordThing并不是那么具有描述性,而像“a”和“b”这样的变量名称将很难很快地完成。有关命名变量的一些提示,see this question for a start。