我有一个只接受字符串的方法。
public void setVerticalAlignment(String align) { ... gd.verticalAlignment = align; // accepts only int. ... }
但是gd.verticalAlignment只接受一个int。通常,这是由gd.verticalAlignment = SWT.TOPSWT.TOP是静态int之类的设置的。
gd.verticalAlignment
gd.verticalAlignment = SWT.TOP
是否可以用类似的方法调用此方法setVerticalAlignment("SWT.TOP")?
setVerticalAlignment("SWT.TOP")
如果使用Java 7,则始终可以switch在字符串上使用:
switch
switch (align) { case "SWT.TOP": gd.verticalAlignment = SWT.TOP; /* etc */ }
说实话,我会避免使用像这样的字符串"STW.TOP"。如果我真的不得不以其他方式存储对齐状态,int我将使用可能switch在较旧版本的Java中使用的枚举。
"STW.TOP"
int