2016-03-09 3 views
-1

У меня есть проект, который я не сделал сам, и я пытаюсь понять, как это работает.Как работает строковая переменная в int

В файле, у меня есть этот код:

int nbClasses = PersystConfiguration.getInt(PersystConstantes.NB_CLASSES_DISTRIBUTION); 

getInt Метод является просто метод для разбора в междунар. Но я не понимаю атрибут NB_CLASSES_DISTRIBUTION класса PersystConstantes. Этот класс:

String NB_CLASSES_DISTRIBUTION = "persyst.nb.classes.distribution"; 

Я действительно не понимаю, как эта строка может быть синтаксической в ​​int.

Может ли кто-нибудь помочь мне, сообщив мне, как работает такая переменная?

+4

Это очень вероятно, извлечение свойство откуда-то, где 'persyst.nb.classes.distribution' ключ и значение является' String', представляющий целое значение. Вы можете найти этот файл (и значение) с помощью grepping для ключа свойства в вашем пути к ресурсам. Или это может быть какое-то системное свойство, установленное где-то в другом месте. Bottomline, разбор фактического '' persyst.nb.classes.distribution '' будет вызывать 'NumberFormatException', так что вряд ли это произойдет здесь. – Mena

+1

Почему бы вам просто не заглянуть внутрь метода PersystConfiguration.getInt и проанализировать, как там обрабатывается параметр String? –

+0

@Mena Вы правы, это системное свойство. Я нашел 'System.getProperty (ключ);' где ключ 'persyst.nb.classes.distribution'. Но где я могу его найти? Это путь или что-то еще? Потому что я не нашел никакого файла «дистрибутива»:/ – Erlaunis

ответ

0

Функция PersystConfiguration.getInt(String argument1) возвращает int. Внутри функции ее логика должна быть похожа, проверьте аргумент1 и верните int, соответствующий/в соответствии с этим. Для e-g возможно определение нижеследующей функции.

/* Don't Ever Tell anyone I wrote this below code */ 
    class PersystConfiguration { 
     public static Map<String,Integer> Property = new HashMap<String,Integer>(); 

     public static void setProperties() { 
      Property.put("persyst.nb.classes.distribution", 0); 
      Property.put("persyst.nb.classes.distribution1", 1); 
      Property.put("persyst.nb.classes.distribution2", 2); 
     } 

     public static int getInt(String argument) { 
      return Property.get(argument); 
     }  
    } 
Смежные вопросы