Size: a a a

2018 June 29

А

Александр in Kotlin Moscow
Мне кажется зря они так. Путаницу создаёт.
источник

NN

Nikolay Nesterov in Kotlin Moscow
Тут они просто проблему с int и Interger из Java припрятали под ковер.  Но мне сложно представить продакшн-кейс, когда надо сравнивать примитивы по identity, не по equality. Соотвественно, вряд ли где-то из-за этого будут баги
источник

MZ

Maxim Zinchenko in Kotlin Moscow
сама вычурность оператора === как бэ намекает, что нефиг его использовать :)
источник

А

Александр in Kotlin Moscow
Nikolay Nesterov
Тут они просто проблему с int и Interger из Java припрятали под ковер.  Но мне сложно представить продакшн-кейс, когда надо сравнивать примитивы по identity, не по equality. Соотвественно, вряд ли где-то из-за этого будут баги
Я надеюсь в функцию Int не по значению передаётся ?
источник

NN

Nikolay Nesterov in Kotlin Moscow
Смотря, что ты подразумеваешь под передачей "по значению"
источник

NN

Nikolay Nesterov in Kotlin Moscow
в джаве есть только один тип передачи аргументов, в отличие от С++ или Scala
источник

NN

Nikolay Nesterov in Kotlin Moscow
т.е. на уровне байткода передается либо значение примитива, либо ссылка.
источник

А

Александр in Kotlin Moscow
Ну здрасте
источник

А

Александр in Kotlin Moscow
Примитивы по значению
источник

NN

Nikolay Nesterov in Kotlin Moscow
ссылки тоже по значению :)
источник

NN

Nikolay Nesterov in Kotlin Moscow
источник

NN

Nikolay Nesterov in Kotlin Moscow
Но это, скорее всего терминологические затруднения. Я понимаю термин "передача по ссылке",  как в С++. Или что ты имеешь в виду?
источник

MZ

Maxim Zinchenko in Kotlin Moscow
Александр
Я надеюсь в функцию Int не по значению передаётся ?
по значению конечно. Int это просто синоним int
источник

NN

Nikolay Nesterov in Kotlin Moscow
Если бы в джаве была "передача по ссылке", то можно было бы написать функцию void swap(Object first, Object second) { ... } Но, увы :)
источник

А

Александр in Kotlin Moscow
Я имею в виду когда по значению, то создаётся копию
источник

А

Александр in Kotlin Moscow
А по ссылке работаешь с оригиналом.
источник

А

Александр in Kotlin Moscow
Что-то типа передать указать и нет в си
источник

А

Александр in Kotlin Moscow
А если ты передаешь массив из одного инта (примитивного)
источник

NN

Nikolay Nesterov in Kotlin Moscow
Так boxed primitives все immutable, поэтому тут разницы никакой нет. Ты все равно никак не сможешь изменить объект, который тебе передали в функцию
источник

NN

Nikolay Nesterov in Kotlin Moscow
Java специально проетировали так, чтобы не заставлять программистов сильно думать :)
источник