我有以下界面;
public static interface Attributes
{
public final static String InterestDeterminationDate = "InterestDeterminationDate";
public final static String CreditType = "CreditType";
public final static String NumberInternal = "NumberInternal";
public final static String InterestRate = "InterestRate";
public final static String RemainingDebtAmount = "RemainingDebtAmount";
public final static String ConsumerPart = "ConsumerPart";
public final static String TechnicalProductName = "TechnicalProductName";
public final static String TermOfDuration = "TermOfDuration";
public final static String PeriodInterestTaxReduction = "PeriodInterestTaxReduction";
public final static String OriginMark = "OriginMark";
public final static String Currency = "Currency";
public final static String PenaltyRuleId = "PenaltyRuleId";
public final static String InstallmentCalculationMethod = "InstallmentCalculationMethod";
public final static String InterestRenewalDate = "InterestRenewalDate";
public final static String TechnicalProductDescription = "TechnicalProductDescription";
public final static String TechnicalProductDate = "TechnicalProductDate";
public final static String CollectionIntervalPeriod = "CollectionIntervalPeriod";
public final static String Enddate = "Enddate";
}
我需要检查给定的字符串是否是此属性接口(interface)的一部分。
我如何检查这个?
问候, 巴斯亨德里克斯
最佳答案
如果您确实想这样做,那么您应该使用反射并遍历属性中的所有值。
更好的方法是使用枚举:
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
中,valueOf()
方法将抛出 IllegalArgumentException
>。另外,您的yourVariable
不是null
,否则您将必须处理NullPointerException
关于java - 如何在接口(interface)中查找静态字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558830/