我有一个仅接受字符串的方法。

public void setVerticalAlignment(String align) {
            ...
    gd.verticalAlignment = align;   // accepts only int.
            ...
}


但是gd.verticalAlignment仅接受一个int。
通常,这是由类似gd.verticalAlignment = SWT.TOP的东西设置的,其中SWT.TOP是静态int。

是否可以用setVerticalAlignment("SWT.TOP")之类的方法调用此方法?

最佳答案

如果使用Java 7,则可以始终在字符串上使用switch

switch (align) {
    case "SWT.TOP":
        gd.verticalAlignment = SWT.TOP;
    /* etc */
}


老实说,我会避免使用"STW.TOP"这样的字符串。如果我真的不得不用除int以外的其他方式存储对齐状态,我会使用可能在Java的旧版本中的switch中使用的枚举。

关于java - Java-如何将String设置为static int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12069026/

10-09 05:00