2015-02-26 3 views
1

У меня есть список, называемый частотой [ежеквартально, ежемесячно, еженедельно и т. Д.]. Вызвав java-метод, я хотел бы, чтобы выражение, такое как frecuencia.equals («Monthly»), правильно оценивало, используя аббревиатуру типа «M».Что лучше всего подходит для строки по ее аббревиатуре

+2

'содержит()' это частичное совпадение 'равно()' является полное совпадение. Вероятно, вы можете скопировать 'frequency' в нужные сокращения. – gtgaxiola

+0

Попробуйте 'if (frequency.startsWith (аббревиатура)) {/ * сделать что-то * /}' – gknicker

ответ

0

Для содержит метод() в списке:

boolean contains(Object o) 

Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)). 

Для равных() метод в списке:

boolean equals(Object o) 

Compares the specified object with this list for equality. Returns true if and only if the specified object is also a list, both lists have the same size, and all corresponding pairs of elements in the two lists are equal. (Two elements e1 and e2 are equal if (e1==null ? e2==null : e1.equals(e2)).) In other words, two lists are defined to be equal if they contain the same elements in the same order. This definition ensures that the equals method works properly across different implementations of the List interface. 

Так содержит возвращает логическое значение, если список содержит элемент, а равно сравнивает два списка и возвращает логическое значение, если оба списка совпадают. Подробнее можно найти: here

1

Вместо того, чтобы удерживать частоты на List, вы можете иметь их на Map, при этом ключ является аббревиатурой.

Пример:

Map<String,String> mapping = new HashMap<>(); 
mapping.put("Q","quarterly"); 
mapping.put("M","mensual"); 
mapping.put("W","weekly"); 

String input = "M"; //scan, parse, or received somehow from something 

String frequency = mapping.get(input); 

Теперь frequency держит mensual

Смежные вопросы