我有一段时间没遇到这个问题,直到现在才设法避免这个问题。基本上我有一个课程,用于存储返回此信息的吸气剂,用于存储高尔夫球场每个洞的信息。在另一个类中,当用户从第1洞移动到第2洞(当前存储为整数)时,我希望访问第2洞的getter方法,但是无法弄清楚如何完成。
代码:
课程信息课:
//Hole information
private static String[] hole1 = {"name", "Distance", "Par"};
private static String[] hole2 = {"name", "Distance", "Par"};
public static String[] getHole1(){
return hole1;
}
public static String[] getHole2(){
return hole2;
}
主类:
String[] holeInfo;
int currentHole = 1;
//How I call hole1 info just now
//I just access the elements of the array as needed then
holeCoOrds = course.getHole1();
//User starts next hole (this will be the case for all 18 holes)
currentHole++
//Call next hole information getter method here
//Something along the lines of;
holeCoOrds = course.getHole(currentHole)();
任何帮助都会受到赞赏,我现在已经绞尽脑汁一段时间没有成功。
提前致谢。
答案 0 :(得分:2)
你没有最好的方法:
div {
width: 300px;
height: 50px;
border: 1px solid black;
display: inline-block;
transition: all .1s ease-in-out;
background-color: white;
padding: 0px 5px;
}
div:hover {
transform: scale(1.2);
z-index: 1;
}
label {
position: relative;
}
可以这种方式存储在<div>
<label>some random text</label>
</div>
<div>
<label>some random text</label>
</div>
中:
//Hole information
private static String[] hole1 = {"name", "Distance", "Par"};
private static String[] hole2 = {"name", "Distance", "Par"};
然后,只用一种方法获得洞值:
List<String[]>
如果您希望更好地控制漏洞,请使用private static List<String[]> holes = new ArrayList<String[]>();
private static String[] hole1 = {"name", "Distance", "Par"};
holes.add(hole1);
private static String[] hole2 = {"name", "Distance", "Par"};
holes.add(hole2);
添加键来识别每个漏洞值:
public static String[] getHole(int holeNumber){
return holes.get(holeNumber);
}
然后,只用一种方法获得洞值:
Map
答案 1 :(得分:1)
你可以用反射做到这一点。但是,更好的方法是重新设计你的课程,这样就没有必要了。将所有hole
数组放入另一个数组或列表中,然后创建一个getHole(int)
方法,从该方法返回一个项目。
所以一个简单的(没有健全性检查)版本看起来像这样:
private static String[] holes = {{"name", "Distance", "Par"},
{"name", "Distance", "Par"}};
public static String[] getHole(int hole){
return holes[hole];
}
这样可以很容易在将来添加额外的漏洞,让您的代码更灵活,这样您就不需要在编译时知道您想要的漏洞。
答案 2 :(得分:0)
为什么不为Hole
实体创建一个类,如下所示:
public class Hole {
private int holeNo;
private String name;
private String dist;
private String par;
//getters and setters for above properties
}
因此,当您从主类调用代码时,很容易遍历一组孔(2个或更多)。
您甚至可以在Map中保留Hole对象的所有实例,以便轻松检索。