Вниз  Java-программирование (1-ые посты)
- 29.04.2018 / 06:35copy  #502514
Exception
  Пользователь

Exception 
Сейчас: Offline
Askalite, Сегодня ближе к обеду буду этим заниматься )
- 29.04.2018 / 11:36copy  #502519
Exception
  Пользователь

Exception 
Сейчас: Offline
Askalite, Кучу ошибок исправил , но также не пашет ((
Вообще в строке while (sc.hasNextByte()) , там походу false , не работает этот цикл , хз чего
- 29.04.2018 / 19:55copy  #502529
Askalite
  Пользователь

Askalite 
Сейчас: Offline
Цитата Exception:
Askalite, Кучу ошибок исправил , но также не пашет (( Вообще в строке while (sc.hasNextByte()) , там походу false , не работает этот цикл , хз чего

Тогда попробуй

FileInputStream sc;
sc = new FileInputStream(new File("input.xz"));

https://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html

Изменено Askalite (29.04 / 20:03) (всего 1 раз)
- 19.08.2018 / 08:14copy  #504782
Vladimir1982
  Пользователь

Vladimir1982 
Сейчас: Offline
Здравствуйте, народ! Можете мне ответить, зачем и почему this используется для передачи текущего экземпляра java в качестве параметра?

myButton.addActionListener(this);

obj.itIsMe(this);

Изменено Vladimir1982 (19.08 / 08:15) (всего 1 раз)
- 19.08.2018 / 17:34copy  #504785
Askalite
  Пользователь

Askalite 
Сейчас: Offline
Vladimir1982, чтобы была возможность обращения объекта к объекту, с которого передали ссылку.

Например.
  1. //У нас есть
  2. класс "Кнопка"{
  3.  "Слушаю кнопку" кнопкаСлушатель;
  4.  подписать("Слушаю кнопку" кнопкаСлушатель){
  5.  this.кнопкаСлушатель=кнопкаСлушатель;
  6.  }
  7. }
  8. //И
  9. интерфейс "Слушаю кнопку"{
  10.  нажатаКнопка(){...}
  11. }

Когда мы создадим кнопку:
  1. "Кнопка" к1=новая "Кнопка"();
И в памяти появится кнопка:
  1. Объект: @ffda
  2. Класс: "Кнопка"
  3. Поле1:#кнопкаСлушатель
  4. Значение1: null

Если нажать на кнопку, то мы не сможем получить сообщение об нажатии кнопки. Объект @ffda НЕ БУДЕТ ЗНАТЬ КУДА ОТПРАВЛЯТЬ СОБЫТИЕ О НАЖАТИИ

Поле1:#кнопкаСлушатель
Значение1: NULL


Отправка this, это способ обратной связи. Это как сообщить объекту, с кем перетереть, чтобы добиться желаемого. В данном случае, отправка this, обозначает отправка ссылки/адреса на объект, который отправил эту ссылку:

— Если чо, брякни мне, вот тебе номерок(this);

Изменено Askalite (19.08 / 17:35) (всего 1 раз)
- 20.08.2018 / 21:49copy  #504807
Aladdin
  Пользователь

Aladdin 
Сейчас: Offline
Askalite, не забудь про реализацию интерфейса.
Vladimir1982, this передается потому что метод addActionListener получает экземпляр класса с реализацией какого ActionListener, типа
  1. class SomeClass implements ActionListener {
  2. ...
, а тут тот класс в котором написана строка
  1. myButton.addActionListener(this);
реализовал интерфейс ActionListener и его можно передать как SomeClass и ActionListener. Также можно использовать анонимы
  1. myButton.addActionListener(new ActionListener() {
  2.     public onAction(ActionEvent e) {
  3.         // do some thing
  4.         ....
  5.     }
  6. });
  7.  
  8. //или лямбды, начиная с Java 8
  9.  
  10. myButton.addActionListener(e -> {
  11.         // do some thing
  12.         ....
  13. });


Изменено Aladdin (20.08 / 21:50) (всего 1 раз)
- 21.08.2018 / 07:41copy  #504809
Askalite
  Пользователь

Askalite 
Сейчас: Offline
Цитата Aladdin:
Askalite, не забудь про реализацию интерфейса.

Ах да, Интерфейс это типа, как будто объект отправитель сделал себе моднявый причесон, чтобы его сразу узнали, что он имеет что-то при себе, дабы решить проблемы, точнее по определённому фейсу, узнать среди толпы.

  1. Объект: @ffda
  2. Класс: "Кнопка"
  3. Поле1:#кнопкаСлушатель
  4. Значение1: @fd4a
  5.  
  6. Объект: @fd4a
  7. Класс: "Батя"
  8.  
  9. класс "Батя" воплотил прикид "Слушаю кнопку" {
  10.  //— Если чо брякайте сюда, на этот рабочий номер
  11.     нажатаКнопка(){...}
  12. }

Все кто реализовал фейс "Слушаю кнопку" должны иметь мобилу "нажатаКнопка". Если это так, то связь будет. Если нет, то фиг. Если реализовать "нажатаКнопка", но не поменять фейс, то никто не узнает:

— Ты кто такой? Я вас не звал! Идите на Error
- 29.07.2019 / 20:08copy  #512304
Death
  Пользователь

Death 
Сейчас: Offline
Что будет эффективнее
Есть константа строка в 5 символа и переменная может быть до 100 символов

Нужно их сравнить. Это:
  1. if("const".equals(text))
ИЛИ это
  1. if(text.equals("const"))
Будет лучше?
__________________
 Смерть правит миром
- 29.07.2019 / 20:10copy  #512305
pmtpmt
  Пользователь

pmtpmt 
Сейчас: Offline
Death, на твой пост (#512304) отвечу, Думаю, функция equal достаточно умная, чтобы сначала сравнить длину двух строк. Поэтому без разницы. Вопрос только в стиле. text.equals("str") выглядит натуральнее, легче читается.

Ещё есть такая вещь как null safety. Если text может быть null, то text.equals("str") бросит NPE, "str".equals(text) нет. Однако, здесь я не советчик.

Изменено pmtpmt (29.07 / 20:15) (всего 4 раза)
- 29.07.2019 / 21:40copy  #512306
Death
  Пользователь

Death 
Сейчас: Offline
pmtpmt, Спасибо, думаю лучше константу сверять на переменную
__________________
 Смерть правит миром
Наверх  Всего сообщений: 16743
Фильтровать сообщения
Поиск по теме
Файлы топика (789)
Поиск по форуму