|  3.12.2015 / 14:51 |  | 
| Oak    Пользователь 
  Сейчас: Offline 
 Имя: КоляОткуда: Москва
 Регистрация: 02.06.2010
 
 | RooMeN, лучший вариант — скопировать из String реализацию split (или свою написать, будет тоже самое), которая будет принимать в аргументы список и опустошать, а затем наполнять его__________________
 Далее, если писать свой split, то можно обнаружить, что в восьмой яве substring создает новую строку, что не всегда нужно, поэтому если размеры подстрок превышают примерно 10 символов, то лучше написать свой класс-обертку для String, который будет хранить указатель на оргинальную строку и начало+конец подстроки, чтобы память утекала поменьше. Тебе, как я понимаю, это не нужно.
 
 В третьих, если ты знаешь, что строка обязательно разобьется на цепочку нулей (или других одинаковых подстрок), то лучше в своем split возвращать количество таких подстрок (вообще не стоит в таком случае использовать split).
 
 В четвертых, System.out.println — довольно долгая операция, поэтому строку для вывода лучше построить заранее в каком-нибудь StringBuilder и потом разово выводить, это, кстати, избавит еще и от кучи строк в памяти.
 
 Ну, все вроде.
 
 
   Эль ПрезедентеИзменено Oak (3.12 / 14:52) (всего 1 раз)
 | 
|  6.12.2015 / 02:41 |  | 
| Alexandr    Пользователь 
  Сейчас: Offline 
 Имя: АлександрОткуда: Днепр
 Регистрация: 01.07.2012
 
 | Доброй ночи Хочу достать id записи в рмс. Набросал такой метод, но он даже нормально не компилится Открыть спойлер Закрыть спойлер public int getId(String name) {   int id;   String[] names = RecordStore.listRecordStores();   for (int i = 0; i < names.length; i ++) {     if (names[i] == name) id = i + 1;     else if (i == names.length) id = 0;   }   return id; }
Помогите, это вылечить и сделать все правельно.   | 
|  6.12.2015 / 03:34 |  | 
| Oak    Пользователь 
  Сейчас: Offline 
 Имя: КоляОткуда: Москва
 Регистрация: 02.06.2010
 
 | Alexandr, строчка 2 int id = -1;__________________
 Локальные переменные никаким значением по умолчанию не инициализируются, а в твоем коде, возможно, что ей никакое значение не присвоится, но никакое значение вернуть нельзя. Поэтому локальной переменной при инициализации необходимо самостоятельно присвоить значение.
 
 
   Эль Презеденте | 
|  8.12.2015 / 15:20 |  | 
| lightro    Пользователь 
  Сейчас: Offline 
 Имя: Лайтро ВасилевскиРегистрация: 13.09.2014
 
 | Можно ли прогуарду скормить готовый jar? Если да, как?
 | 
|  8.12.2015 / 16:15 |  | 
| aNNiMON   Супервизор 
  Сейчас: Offline 
 Имя: ВитёкРегистрация: 11.01.2010
 
 | __________________lightro, можно. Он умеет и jar, и zip, и папки с классами, даже apk. Параметр -injars
   let liveИзменено aNNiMON (8.12 / 16:17) (всего 1 раз)
 | 
|  8.12.2015 / 20:55 |  | 
| lightro    Пользователь 
  Сейчас: Offline 
 Имя: Лайтро ВасилевскиРегистрация: 13.09.2014
 
 | aNNiMON, а как им вообще пользоваться? Ява установлена, а как запустить прогуард ума не приложу. Может батник есть готовый?
 | 
|  8.12.2015 / 21:00 |  | 
| HeWeD    Пользователь 
  Сейчас: Offline 
 Регистрация: 11.10.2015
 |  | 
|  8.12.2015 / 21:46 |  | 
| aNNiMON   Супервизор 
  Сейчас: Offline 
 Имя: ВитёкРегистрация: 11.01.2010
 
 | __________________lightro, а как тебе удобнее? Можно к NetBeans прикрутить, можно из командной строки, можно при помощи гуишки - но там неудобно. Создаёшь конфиг: config.pro. Куча примеров есть, как на сайте, так и в папке с proguard. -injars program.jar-outjars program_out.jar-libraryjars  D:/Program Files/Java/jre/lib/rt.jar# -libraryjars ещё какие-либо зависимости -keep public class com.example.Main {    public static void main(java.lang.String[]);}
И запускаешь:  java -jar proguard @config.pro
Вот пример конфига  от Naik  для JavaFX.
   let liveИзменено aNNiMON (8.12 / 21:46) (всего 1 раз)
 | 
|  11.12.2015 / 13:37 |  | 
| Alexandr    Пользователь 
  Сейчас: Offline 
 Имя: АлександрОткуда: Днепр
 Регистрация: 01.07.2012
 
 | Прочитал что в JVM, boolean типа нет как такового, вместо него используется int! А это означает, что для хранения значения типа да\нет, используется ровно 32 бита.Что лучше для логических операций, несколько boolean'ов или один интегер?
 boolean jumpLeft, jumpUp, jumpRight; // несколько boolean'ов
 int jump; // интегер, хранящий значения от 0 до 3
 Или вобще лучше массив boolean'ов?
 boolean[] jump  = new boolean[3];
 
 | 
|  11.12.2015 / 14:03 |  | 
| Korvin    Пользователь 
  Сейчас: Offline 
 Имя: МаксОткуда: Белгород
 Регистрация: 06.04.2011
 
 | Не обязательнл int занимает в памяти 32 бита . JVM во вреямя выполнения выделяет нужное кол-во памяти исходя из значения переменной .
 |