Java 如何将字符串设置为静态int?

Java 如何将字符串设置为静态int?,java,Java,可能重复: 我有一个只接受字符串的方法 public void setVerticalAlignment(String align) { ... gd.verticalAlignment = align; // accepts only int. ... } 但是gd.verticalAlignment只接受一个int。通常这是由gd.verticalAlignment=SWT.TOP之类的内容设置的,其中SWT.TOP是一个静态int 如果align是字符串格式的数字,是否可以

可能重复:

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

public void setVerticalAlignment(String align) {
...
gd.verticalAlignment = align; 
// accepts only int.   
... 
} 
但是
gd.verticalAlignment
只接受一个int。通常这是由
gd.verticalAlignment=SWT.TOP
之类的内容设置的,其中
SWT.TOP
是一个静态int


如果
align
是字符串格式的数字,是否可以使用类似于
setVerticalAlignment(“SWT.TOP”)
的方法调用此方法。然后你可以做:

gd.verticalAlignment = Integer.parseInt(align);

如果您正在推出自己的框架,可以使用或类似的方法,通过转换为字符串。但你不应该那样做。您应该更改方法中的代码,并调用gd.verticalAlignment=Integer.valueOf(align)

是的,这是可能的,但不是简单的实现。坦率地说,如果您试图以字符串形式传递类和常量成员的名称,那么您的设计可能有问题。为什么将值作为字符串传递?怎么可能看不到?这仅仅是来自同一个用户(现在是匿名用户)的转发吗?同事?@dystroy-不可能两个人用相同的措辞和示例代码独立地提出完全相同的问题。最好直接调用
Integer.parseInt
,因为Integer.valueOf(String)与
new Integer(Integer.parseInt(s))
。当您只需要一个原始整数时,获取新的整数对象是多余的。