回答
你的問題沒有說清楚你是否」重新嘗試查明查詢字符串是屬性名稱還是值。如果你想找出它是否是一個值,下面的工作:
public static boolean hasValue(String value) throws IllegalAccessException {
for(Field field : Attributes.class.getDeclaredFields()) {
if(((String)field.get(Attributes.class)).equals(value)) {
return true;
}
}
return false;
}
不過,我會建議以下使用Enum
的Colin's suggestion,它會更容易讓你在今後的工作中。
我同意科林。他的建議是更好的,但我只限於Java 1.4(並且不能改變界面) – 2010-08-25 08:21:27
可以使用反射API,並且 「getFields()」 的Class class的方法。
然後使用Field class的「getName()」方法檢查字段名稱。
如果您確實想要這樣做,那麼您應該使用反射並遍歷屬性中的所有值。
一個更好的辦法來做到這一點可能是使用枚舉:
public enum Attributes{
InterestDeterminationDate,
CreditType,
NumberInternal,
InterestRate,
RemainingDebtAmount,
ConsumerPart,
TechnicalProductName,
TermOfDuration,
PeriodInterestTaxReduction,
OriginMark,
Currency,
PenaltyRuleId,
InstallmentCalculationMethod,
InterestRenewalDate,
TechnicalProductDescription,
TechnicalProductDate,
CollectionIntervalPeriod,
Enddate;
}
和Attributes.valueOf(yourVariable);
將檢查這個給你。
如果yourVariable
不在Attributes
中,請注意enum,valueOf()
方法將拋出IllegalArgumentException
。另外,您yourVariable
不是null
或者你將不得不處理NullPointerException
@BasHendriks:另外,如果你想堅持使用字符串(和反射),最好把它們放在最後一個類中而不是一個接口中。接口不是爲了這個目的。 – 2010-08-24 19:05:00
我同意枚舉應該是這樣做的正確方法,但我有兩個限制:我無法更改界面。我必須使用這個。而我僅限於java 1.4 ....... – 2010-08-25 07:00:27
然後看看其他解決方案。但是當你問一個問題時,你應該指定你的限制。 – 2010-08-25 07:52:02
可以使用反射和測試針對的是一套建立一套:
Class<Attributes> attr = Attributes.class;
Field[] fields = attr.getDeclaredFields();
final Set<String> fieldsInAttributes = new HashSet<String>();
for (Field field : fields) {
fieldsInAttributes.add(field.getName());
}
System.out.println(fieldsInAttributes.contains("PenaltyRuleId"));
這將搜索目標字符串的字段名稱。我認爲他想要的是實地價值,而不是名稱。 – 2010-08-24 16:59:43
他們在這個例子中是一樣的,但是,是的,你可能是對的。 – zevra0 2010-08-24 17:01:54
public static String getFieldName(String fieldValue) throws Exception {
for (Field field : Attributes.class.getFields())
if (fieldValue.equals(field.get(null)))
return field.getName();
return null;
}
- 1. 在靜態方法打字稿內找不到名稱「界面」
- 2. Ruby將靜態字符串添加到隨機字符串中?
- 3. 靜態字符串vs非靜態字符串
- 4. Android非靜態字符串靜態字符串錯誤
- 5. 如何在字符串中找到「\ n」?
- 6. 如何使用jQuery在頁面中找到任何字符串
- 7. 如何在字符串中找到子字符串?
- 8. 如何在字符串中找到字符串
- 9. 如何找到字符串放在字符串中的位置?
- 10. 如何在Objective-c字符串中找到子字符串
- 11. 如何在字符串中找到字符串'NULL'?
- 12. 鑄造界面{}到字符串數組
- 13. 如何在動態創建的列表中找到字符串
- 14. 如何找到字符串
- 15. 如何找到字符串
- 16. 如何找到字符串
- 17. 在C中,如何在字符串中找到'\'字符?
- 18. php - 如何在頁面源中找到隨機字符串?
- 19. 界面轉換:界面是地圖[字符串]界面{}不是
- 20. 使用字符串找到一個靜態變量Java
- 21. 如何在iPhone/XCode中定義一個靜態字符串表?
- 22. 如何在Nlua中使用C#靜態字符串
- 23. 如何把靜態html放在c#的字符串中?
- 24. 如何在C#中安全地嵌入靜態字符串(鍵)?
- 25. 如何在Java中聲明靜態字符串數組?
- 26. 如何將RESW字符串綁定到用戶界面
- 27. (非靜態方法更改(字符串,字符串,字符串)不能從靜態上下文中引用
- 28. 如何從n個字符串中找到子字符串
- 29. 如何找到一個字符串中的字符串
- 30. 如何字符串vlaues從數組綁定到的UIButton(靜態)
你是什麼意思「字符串是屬性接口的一部分」? – 2010-08-24 16:54:12