2012-08-22 51 views
0

可能重複:
Java - How to set String as static int如何將String設置爲static int?

我只接受一個字符串的方法。

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

gd.verticalAlignment只接受int。通常這是由類似gd.verticalAlignment = SWT.TOP設置的,其中SWT.TOP是一個靜態int。

是否有可能用類似setVerticalAlignment("SWT.TOP")的方法調用此方法?

+0

是的,這是可能的 - 但不是簡單的實施。坦率地說,如果你試圖將類和常量成員的名字作爲字符串傳遞,那麼你的設計可能會出現問題。爲什麼該值是作爲字符串傳入的? – DaoWen

+3

這怎麼可能不能看到[現有的問題](http://stackoverflow.com/questions/12069026/java-how-to-set-string-as-static-int)?這只是來自同一用戶(現在是匿名)的轉發?一個同事 ? –

+0

@dystroy - 兩個人不可能獨立地用相同的措辭和示例代碼來提出完全相同的問題。 – DaoWen

回答

1

如果align是一個字符串格式的數字。那麼你可以這樣做:

gd.verticalAlignment = Integer.parseInt(align); 
0

使用Swing constants或類似的東西,如果你正在推出自己的框架

0

就可以了,用鑄字符串。但你不應該那樣做。你應該改變你的方法內的代碼,並調用gd.verticalAlignment = Integer.valueOf(align);

+1

最好直接調用'Integer.parseInt',因爲Integer.valueOf(String)與'New Integer(Integer.parseInt(s))'相同。當您只需要一個原始int時,獲取新的Integer對象是多餘的。 – halex

+0

true ........... – roel

相關問題