metaclass: (дзедline)
[personal profile] metaclass
А почему в java нету готовых методов, которые бы позволяли парсить числа, не кидая исключений?
Т.е. возвращали бы true+число, либо false, типа как int.TryParse в дотнете.

Date: 2013-03-21 08:26 am (UTC)
From: [identity profile] artureg.livejournal.com
ответ "потому что" тебя устроит?

Date: 2013-03-21 08:34 am (UTC)
From: [identity profile] metaclass.livejournal.com
Нет, этому должно быть разумное объяснение :)

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 08:35 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_slw/ - Date: 2013-03-21 09:05 am (UTC) - Expand

Date: 2013-03-22 05:10 am (UTC)
develop7: (dero)
From: [personal profile] develop7
Не стесняйтесь цитировать полностью: «потому что иди-ка ты нахуй»

Date: 2013-03-21 08:32 am (UTC)
From: [identity profile] bydlorus.livejournal.com
Согласно Java Guidelines, если есть два способа реализовать функциональность - правильный и медленный - необходимо выбрать второй вариант, иначе мейнфреймы будут плохо продаваться.

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:25 am (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 10:29 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:32 am (UTC) - Expand

Date: 2013-03-21 09:11 am (UTC)
From: [identity profile] stop-nonsense.livejournal.com
http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=java
Хватит уже поддерживать этот миф.

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-03-21 09:25 am (UTC) - Expand

(no subject)

From: [identity profile] stop-nonsense.livejournal.com - Date: 2013-03-21 10:09 am (UTC) - Expand

Date: 2013-03-21 08:33 am (UTC)
From: (Anonymous)
Наверное, потому что в джаве нет out параметров.

Date: 2013-03-21 08:35 am (UTC)
From: [identity profile] metaclass.livejournal.com
Скорее всего да, а мудрить отдельный класс на возвращение двух вариантов таки злодеяние.

(no subject)

From: [identity profile] predatorre.livejournal.com - Date: 2013-03-21 08:42 am (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 08:43 am (UTC) - Expand

(no subject)

From: [identity profile] predatorre.livejournal.com - Date: 2013-03-21 08:45 am (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 08:50 am (UTC) - Expand

(no subject)

From: [identity profile] predatorre.livejournal.com - Date: 2013-03-21 08:53 am (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 09:00 am (UTC) - Expand

Date: 2013-03-21 08:37 am (UTC)
From: [identity profile] enternet.livejournal.com
Если кратко, то стандартную библиотеку Java писали студенты за еду. Это реально адов пиздец. Нет ничего нужного вообще. Даже работу со стандартными типами данных умудрились испоганить.

Date: 2013-03-21 09:00 am (UTC)
From: [identity profile] artureg.livejournal.com
эти студенты уже матёрые бородаты жабаеды и учат других студентов

Date: 2013-03-21 09:11 am (UTC)
From: [identity profile] volodymir-k.livejournal.com
> Если кратко, то стандартную библиотеку Java писали студенты за еду.

Если вы нихера не знаете, зачем лжёте?
Стандартную библиотеку в Sun писал сам Гослинг -- умный осилит загуглить, а вам незачем.


О том, что "нужно" людям, хорошо говорит факт отсутствия альтернативных библиотек. Проблемы в вас.

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 09:28 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-03-21 09:44 am (UTC) - Expand

(no subject)

From: [identity profile] henu3detb.livejournal.com - Date: 2013-03-21 11:45 am (UTC) - Expand

(no subject)

From: [identity profile] enternet.livejournal.com - Date: 2013-03-21 09:33 am (UTC) - Expand

(no subject)

From: [identity profile] volodymir-k.livejournal.com - Date: 2013-03-21 02:45 pm (UTC) - Expand

(no subject)

From: [identity profile] enternet.livejournal.com - Date: 2013-03-21 03:07 pm (UTC) - Expand

(no subject)

From: [identity profile] familom.livejournal.com - Date: 2013-03-21 01:19 pm (UTC) - Expand

Date: 2013-03-21 08:42 am (UTC)
From: [identity profile] kosiakk.livejournal.com
Это уже не модно.

void Integer.tryParse( String input, (int -> void) callback)

Date: 2013-03-21 08:43 am (UTC)
From: [identity profile] bydlorus.livejournal.com
И это уже не модно
void Integer.tryParse( String input, async (int -> void) callback)

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2013-03-21 08:54 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-03-21 09:26 am (UTC) - Expand

(no subject)

From: [identity profile] guamoka.livejournal.com - Date: 2013-03-21 11:54 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-03-21 11:56 am (UTC) - Expand

Date: 2013-03-21 08:50 am (UTC)

(no subject)

From: [identity profile] denisioru.livejournal.com - Date: 2013-03-21 09:38 am (UTC) - Expand

(no subject)

From: [identity profile] kosiakk.livejournal.com - Date: 2013-03-21 09:43 am (UTC) - Expand

(no subject)

From: [identity profile] denisioru.livejournal.com - Date: 2013-03-21 11:47 am (UTC) - Expand

Date: 2013-03-21 09:14 am (UTC)
From: [identity profile] volodymir-k.livejournal.com
java.text.NumberFormat::parse(String source, ParsePosition parsePosition)
http://docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html#parse%28java.lang.String,%20java.text.ParsePosition%29
во всех видах, позах, вариантах

Date: 2013-03-21 03:46 pm (UTC)
From: [identity profile] sergiej.livejournal.com
+100 причём делать его надо как можно ближе места ввода данных криворукими (на ГУИ), чтобы логика приложения уже была чиста от левых чисел в стрингах.

Date: 2013-03-21 09:14 am (UTC)
From: [identity profile] vit-r.livejournal.com
Ха. Апатамучта ява предназначена для криворуких обезьян, то есть изначально предполагается, что все эти true/false никто проверять не будет.

Date: 2013-03-21 09:37 am (UTC)
From: [identity profile] ivan sopov (from livejournal.com)
com.google.common.primitives.Ints.tryParse

Date: 2013-03-21 12:14 pm (UTC)
From: [identity profile] vadim ridosh (from livejournal.com)
Присоединяюсь. ИМХО гугль гуава - это маст хэв, отличный костыль с турбонаддувом для такого инвалида как Java.

(no subject)

From: [identity profile] volodymir-k.livejournal.com - Date: 2013-03-21 02:48 pm (UTC) - Expand

(no subject)

From: [identity profile] vadim ridosh - Date: 2013-03-21 04:49 pm (UTC) - Expand

Date: 2013-03-21 09:39 am (UTC)
From: [identity profile] kzn.livejournal.com
А в чем их возвращать? Можно сделать class что-то вроде MutableInteger, но как-то не очень красиво.
Можно возвращать Object[] - но это совсем уж извращение.

Чем так сильно отличает возвращение статуса от кидания исключения?

Date: 2013-03-21 09:47 am (UTC)
From: [identity profile] vp.livejournal.com
Есть постулат, что строка, не подходящая по формату для преобразования в число - это идеологически не исключение, а вполне штатная ситуация. Потому правильны метод - возвращающий bool результат преобразования, а если все хорошо, то еще и модифицирующий переменную, которую мы ему указали.

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 09:53 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 09:57 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:23 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 10:24 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:26 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 10:30 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:36 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 10:38 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:39 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 10:42 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:56 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 10:58 am (UTC) - Expand

(no subject)

From: [identity profile] sil-e-nt.livejournal.com - Date: 2013-03-22 07:50 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-03-21 10:30 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:54 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-03-21 10:29 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 10:38 am (UTC) - Expand

(no subject)

From: [identity profile] henu3detb.livejournal.com - Date: 2013-03-21 11:36 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 11:39 am (UTC) - Expand

(no subject)

From: [identity profile] henu3detb.livejournal.com - Date: 2013-03-21 11:49 am (UTC) - Expand

(no subject)

From: [identity profile] kzn.livejournal.com - Date: 2013-03-21 11:59 am (UTC) - Expand

(no subject)

From: [identity profile] avnik.livejournal.com - Date: 2013-03-21 10:49 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 10:50 am (UTC) - Expand

(no subject)

From: [identity profile] guamoka.livejournal.com - Date: 2013-03-21 12:05 pm (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 12:06 pm (UTC) - Expand

(no subject)

From: [identity profile] guamoka.livejournal.com - Date: 2013-03-21 12:07 pm (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-21 12:12 pm (UTC) - Expand

(no subject)

From: [identity profile] sil-e-nt.livejournal.com - Date: 2013-03-22 07:54 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2013-03-22 08:14 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2013-03-21 04:36 pm (UTC) - Expand

Date: 2013-03-21 09:43 am (UTC)
From: [identity profile] andrew kondratovich (from livejournal.com)
  public static int getInteger(String value, int def) {
    try {
      return Integer.parseInt(value);
    } catch (Exception e) {
      return def;
    }
  }
Edited Date: 2013-03-21 09:45 am (UTC)

Date: 2013-03-21 09:46 am (UTC)
From: [identity profile] artureg.livejournal.com
пизда пизда пизда

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-03-21 09:48 am (UTC) - Expand

(no subject)

From: [identity profile] andrew kondratovich - Date: 2013-03-21 11:20 am (UTC) - Expand

(no subject)

From: [identity profile] andrew kondratovich - Date: 2013-03-21 01:45 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-03-21 02:01 pm (UTC) - Expand

(no subject)

From: [identity profile] zmila.livejournal.com - Date: 2013-03-21 02:49 pm (UTC) - Expand

(no subject)

From: [identity profile] dnnx.livejournal.com - Date: 2013-03-21 12:33 pm (UTC) - Expand

(no subject)

From: [identity profile] zmila.livejournal.com - Date: 2013-03-21 02:44 pm (UTC) - Expand

(no subject)

From: [identity profile] andrew kondratovich - Date: 2013-03-21 03:11 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2013-03-21 03:52 pm (UTC) - Expand

(no subject)

From: [identity profile] andrew kondratovich - Date: 2013-03-22 06:58 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2013-03-23 05:39 pm (UTC) - Expand
(deleted comment)

Date: 2013-03-21 10:21 am (UTC)
From: [identity profile] metaclass.livejournal.com
Это можно, но само выполнение подобных действий у меня вызывает ощущение, что я вернулся в 90е годы и занимаюсь изобретением велосипедов :)

(no subject)

From: [identity profile] henu3detb.livejournal.com - Date: 2013-03-21 11:58 am (UTC) - Expand

Date: 2013-03-21 03:43 pm (UTC)
From: [identity profile] sergiej.livejournal.com
Там, где ОЖИДАЕТСЯ некорректный ввод (правильность формата не проверена на ГУИ), должен использоваться NumberFormat. Там есть всё, что душа пожелает для "TryParse"

Date: 2013-03-21 04:24 pm (UTC)
From: [identity profile] aka-shaggie.livejournal.com
Про Guava уже всё как надо рассказали. И ещё можно добавить, что в apache commons lang есть math.NumberUtils, который тоже это умеет. И в любой мало-мальский проект эта либа какими-нибудь зависимостями да притянута.

Но вообще проблема системная. Питонисты, например, не умеют без KeyError когда у них ключ в мапе не нашёлся, и ничего, тишина, никто не возмущается.

Date: 2013-03-21 04:42 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Охохо, с KeyError в питоне мне пришлось обшарить внутренности питономашины, чтобы доказать упертым линуксоидам что это косяк, а не "так можно".

Date: 2013-03-21 04:35 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Ввести Maybe, написать самому. Делов-то.

Но тут другой нюанс - а на хера париться с джавой?

Date: 2013-03-21 06:27 pm (UTC)
From: [identity profile] henu3detb.livejournal.com
Тогда, конечно, вопрос - а с чем париться?

Date: 2013-03-22 05:12 am (UTC)
develop7: (dero)
From: [personal profile] develop7
Правильный вопрос: «зачем в java нету готовых методов, которые…» и далее по тексту.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 11:56 am
Powered by Dreamwidth Studios