powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / (v == v) => false
10 сообщений из 10, страница 1 из 1
(v == v) => false
    #37796711
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В некоторых ЯП выражение v == v иногда дает false. В основном это вариации на тему NaN. А в java можно это как-то изобразить?
...
Рейтинг: 0 / 0
(v == v) => false
    #37796749
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Double.NaN ?
...
Рейтинг: 0 / 0
(v == v) => false
    #37796762
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Код: java
1.
2.
		Double d = Double.NaN;
		System.out.println(d == d);


дает true.
Вот чтоы понятнее было вариант на руби:
Код: ruby
1.
2.
$ ruby -e 'first = 0.0 / 0.0; second = first; p first==second'
false
...
Рейтинг: 0 / 0
(v == v) => false
    #37796774
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deviderдает true.


Похоже на багу. :)

Код: java
1.
2.
3.
4.
Double d = Double.NaN;
System.out.println(d == d);
System.out.println(d == Double.NaN);
System.out.println(Double.NaN == Double.NaN);
...
Рейтинг: 0 / 0
(v == v) => false
    #37796782
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не, всё нормально. Это ловушка автобоксинга.

Код: java
1.
2.
double d = Double.NaN;
System.out.println(d == d);
...
Рейтинг: 0 / 0
(v == v) => false
    #37796786
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczDeviderдает true.


Похоже на багу. :)

Код: java
1.
2.
3.
4.
Double d = Double.NaN;
System.out.println(d == d);
System.out.println(d == Double.NaN);
System.out.println(Double.NaN == Double.NaN);


У меня вывод:
true
false
false

У Вас не так?
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (Gentoo build 1.6.0_24-b24)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
...
Рейтинг: 0 / 0
(v == v) => false
    #37797004
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
(v == v) => false
    #37797024
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, сам туплю и вас всех сбиваю.
$ ruby -e 'first = 0.0 / 0.0;p first==first'
false

Вот что имел ввиду.
...
Рейтинг: 0 / 0
(v == v) => false
    #37797055
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviderБлин, сам туплю и вас всех сбиваю.
$ ruby -e 'first = 0.0 / 0.0;p first==first'
false

Вот что имел ввиду.


Код: java
1.
2.
double f = 0.0 / 0.0;
System.out.println(f == f);



В чём вопрос????
...
Рейтинг: 0 / 0
(v == v) => false
    #37797404
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz
Код: java
1.
2.
double f = 0.0 / 0.0;
System.out.println(f == f);



В чём вопрос????
Все-все, больше нет вопросов. :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / (v == v) => false
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]