{"id":346998,"date":"2023-03-20T09:00:29","date_gmt":"2023-03-20T09:00:29","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=346998"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2023-03-20T09:00:29","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=346998","title":{"rendered":"<span>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 1<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><a href=\"https:\/\/habr.com\/ru\/post\/721084\/\" rel=\"noopener noreferrer nofollow\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 1<\/a> &#8212; \u0432\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435\u0441\u044c \u0437\u0434\u0435\u0441\u044c<br \/><a href=\"https:\/\/habr.com\/ru\/post\/722686\/\" rel=\"noopener noreferrer nofollow\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 2<\/a><br \/>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 3 (\u0441\u043a\u043e\u0440\u043e)<\/p>\n<p><a class=\"anchor\" name=\"%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" id=\"\u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u043c \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432\"><\/a><\/p>\n<h2>\u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u043c \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432:<\/h2>\n<h4>1. Kotlin \u0438 Java<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%20Kotlin%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20Java\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 Kotlin \u043f\u0435\u0440\u0435\u0434 Java<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20Exception%20%D0%B2%20Java%20%D0%B8%20Kotlin\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 Exception \u0432 Java \u0438 Kotlin<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B5%D1%81%D1%82%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B%20%D0%B8%D0%B7%20Java%20%D0%B2%20Kotlin?\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%92%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%20%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%83%D0%B5%D1%82%D1%81%D1%8F%20internal%20%D0%B2%20Java?\" rel=\"noopener noreferrer nofollow\">\u0412 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B5%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE%20==%20%D0%B8%20equals()\" rel=\"noopener noreferrer nofollow\">\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>2. \u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BF%D1%80%D0%BE%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B8%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B,%20object%20%D0%B8%20companion%20object\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9E%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%20(object%20declaration),%20object%20%D0%BA%D0%B0%D0%BA%20Singleton\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (object declaration), object \u043a\u0430\u043a Singleton<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1ompanion%20object%20(%D1%82%D0%B0%D0%BA%D0%B6%D0%B5%20Singleton)\" rel=\"noopener noreferrer nofollow\">\u0421ompanion object (\u0442\u0430\u043a\u0436\u0435 Singleton)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20(%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B9%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82\/object%20expression)\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u044a\u0435\u043a\u0442-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\/object expression)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%BC%20%D0%B8%20%D0%B4%D0%B5%D0%BA%D0%BB%D0%B0%D1%80%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%8B%D0%BC%20(%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%BC)%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%BC\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c \u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c (\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c\u044b\u043c) \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F%20@JvmStatic\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f @JvmStatic<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>3. Null safety<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20Null%20safety,%20nullable%20%D0%B8%20non-nullable%20%D1%82%D0%B8%D0%BF%D1%8B?\" rel=\"noopener noreferrer nofollow\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Null safety, nullable \u0438 non-nullable \u0442\u0438\u043f\u044b?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20null%20(if-else,%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B%20&quot;?.&quot;,%20&quot;!!.&quot;,%20&quot;?:&quot;)\" rel=\"noopener noreferrer nofollow\">\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 null (if-else, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b &#171;?.&#187;, &#171;!!.&#187;, &#171;?:&#187;)<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>4. Any<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9E%D1%82%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20%D1%83%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B%20%D0%B2%D1%81%D0%B5%20%D0%BE%D1%81%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B2%20Kotlin?\" rel=\"noopener noreferrer nofollow\">\u041e\u0442 \u043a\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 Kotlin?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A7%D0%B5%D0%BC%20Any%20%D0%B2%20Kotlin%20%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BE%D1%82%20Object%20%D0%B2%20Java?\" rel=\"noopener noreferrer nofollow\">\u0427\u0435\u043c Any \u0432 Kotlin \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 Object \u0432 Java?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9%20%D1%82%D0%B8%D0%BF%20%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%81%D1%8F%20%D0%BD%D0%B0%20%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%B5%20%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8%20%D1%82%D0%B8%D0%BF%D0%BE%D0%B2%20%D0%B2%20Kotlin?\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0442\u0438\u043f\u043e\u0432 \u0432 Kotlin?<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>5. Unit<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BE%20Unit\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0440\u0430\u0442\u043a\u043e \u043e Unit<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20instance%20Unit%20(1)?\" rel=\"noopener noreferrer nofollow\">\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Unit (1)?<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>6. Nothing<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BE%20Nothing\" rel=\"noopener noreferrer nofollow\">\u041a\u0440\u0430\u0442\u043a\u043e \u043e Nothing<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20instance%20Nothing%20(0)?\" rel=\"noopener noreferrer nofollow\">\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Nothing (0)?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%95%D1%81%D1%82%D1%8C%20%D0%BB%D0%B8%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%20Nothing%20%D0%B2%20Java%20(%D0%BD%D0%B5%D1%82)?\" rel=\"noopener noreferrer nofollow\">\u0415\u0441\u0442\u044c \u043b\u0438 \u0430\u043d\u0430\u043b\u043e\u0433 Nothing \u0432 Java (\u043d\u0435\u0442)?<\/a><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/563\/628\/028\/5636280280e454eb708c1c6a84c9860e.PNG\" width=\"1067\" height=\"385\"\/><\/figure>\n<p><a class=\"anchor\" name=\"%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%20Kotlin%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20Java\" id=\"\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 Kotlin \u043f\u0435\u0440\u0435\u0434 Java\"><\/a><\/p>\n<h2>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 Kotlin \u043f\u0435\u0440\u0435\u0434 Java<\/h2>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u043d\u0430 Kotlin \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0435\u0435 \u043d\u0430 30-40%<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u041c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u0434\u0430 = \u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0448\u0438\u0431\u043e\u043a, \u0432\u044b\u0448\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043e\u0431\u043d\u0443\u043b\u044f\u0435\u043c\u044b\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 (Null Safety)<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Java, \u0432 Kotlin \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u0441\u0435 \u0442\u0438\u043f\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f non-nullable, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null. \u041f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 null \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null, \u0432 Kotlin \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u044f\u0432\u043d\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043a\u0430\u043a nullable (\u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043f\u043e\u0441\u043b\u0435 \u0442\u0438\u043f\u0430 \u0437\u043d\u0430\u043a \u0432\u043e\u043f\u0440\u043e\u0441\u0430). \u0412 Java \u0436\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c null, \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432 \u0432\u0438\u0434\u0435 \u00abNullPointerExpertion!\u00bb.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0424\u0443\u043d\u043a\u0446\u0438\u0438-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (Extensions)<\/summary>\n<div class=\"spoiler__content\">\n<h3>Kotlin \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u043f\u0443\u0442\u0451\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u042d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c. \u0422\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u042d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a\u043b\u0430\u0441\u0441\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (data classes)<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 Java \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e, \u043d\u043e \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043a\u043e\u0434\u0430 (\u0442.\u043d. \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u043b\u0438 boilerplate). \u0412 Kotlin \u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0435\u0442\u0442\u0435\u0440\u043e\u0432 \u0438 \u0433\u0435\u0442\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Hashcode(), toString() \u0438 equals(). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c data \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430, \u0437\u0430\u0442\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u0430\u043c.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0438 \u041b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 (higher-order function) \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u043b\u0438 \u043b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u0430\u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u041b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439. <\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0421\u0438\u043d\u0433\u043b\u0442\u043e\u043d\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0437\u044b\u043a\u0430 (Object)<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0412 Java \u0432\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430. \u041d\u043e \u0432 Kotlin \u0432\u0441\u0435 \u0438\u043d\u0430\u0447\u0435. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430, \u0438 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e static. \u0412 Java \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u043b\u0435\u043d\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0447\u043b\u0435\u043d\u044b-\u043e\u0431\u044a\u0435\u043a\u0442\u044b. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u043d\u0430\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u0432\u0435\u0449\u0438, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0432 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a (map) \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442. \u0412 Kotlin static \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c \u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u044b-\u043a\u043e\u043c\u043f\u0430\u043d\u044c\u043e\u043d\u044b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0442\u044c \u0432\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f. \u0412 \u044d\u0442\u043e\u043c \u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0447\u043b\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432-\u043a\u043e\u043c\u043f\u0430\u043d\u044c\u043e\u043d\u043e\u0432 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u043b\u0435\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043d\u0438 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u043c\u043e\u0433\u0443\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0440\u0443\u0442\u0438\u043d\u044b <\/summary>\n<div class=\"spoiler__content\">\n<h3>Kotlin \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438, \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u043d\u0435\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0442.\u043d. \u043a\u043e\u0440\u0443\u0442\u0438\u043d\u044b (\u0441\u043e\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u043c, \u0442.\u043a. \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043e\u043d\u0438 \u0431\u0435\u0437 \u0441\u0442\u0435\u043a\u0430. \u041a\u043e\u0440\u0443\u0442\u0438\u043d\u044b \u0436\u0435 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u044b\u0435 \u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e\u0442\u043e\u043a\u0430 \u0438 \u0435\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0427\u0442\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u043e\u043d\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u043d\u044b\u0435 \u0434\u043e\u043f. \u0441\u0442\u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 async \u0438\u043b\u0438 await.<\/h3>\n<h3>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e? \u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u2014 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f. Android \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u044b\u043c, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u0432 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u043e\u0442\u043e\u043a, \u043d\u0435 \u0434\u0430\u0432\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u0434\u0430. Java \u0436\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0430\u0447\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0444\u043e\u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430. \u041d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c \u0432 \u043a\u043e\u0434\u0435.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:<\/strong><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/typecasts.html\" rel=\"noopener noreferrer nofollow\">\u0423\u043c\u043d\u044b\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/basic-types.html#strings\" rel=\"noopener noreferrer nofollow\">\u0421\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/delegation.html\" rel=\"noopener noreferrer nofollow\">\u0414\u0435\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0437\u044b\u043a\u0430<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/basic-types.html\" rel=\"noopener noreferrer nofollow\">\u0412\u044b\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/generics.html\" rel=\"noopener noreferrer nofollow\">\u0411\u043e\u043b\u0435\u0435 \u0433\u0438\u0431\u043a\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 generics<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20Exception%20%D0%B2%20Java%20%D0%B8%20Kotlin\" id=\"\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 Exception \u0432 Java \u0438 Kotlin\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 Exception \u0432 Java \u0438 Kotlin<\/h2>\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 Java \u0438 Kotlin \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c. \u0412 Java \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439: <strong>checked<\/strong> \u0438 <strong>unchecked<\/strong>. <\/p>\n<p><strong>Checked<\/strong> \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b \u0432 \u043a\u043e\u0434\u0435, \u0438\u043d\u0430\u0447\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043a\u043e\u0434\u0443 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f. <strong>Unchecked<\/strong> \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435.  <\/p>\n<p>\u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Kotlin \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 <strong>checked<\/strong> \u0438 <strong>unchecked<\/strong> \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u0412\u0441\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u2014 <strong>\u0442\u043e\u043b\u044c\u043a\u043e unchecked<\/strong>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u0432\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 \u0438\u0445 \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c).<\/p>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 Kotlin, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0438 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u043e\u0439\u043b\u0435\u0440\u043f\u043b\u0435\u0439\u0442\u0430 \u0438 \u0443\u043b\u0443\u0447\u0448\u0438\u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u043f\u0443\u0449\u0435\u043d\u044b \u043f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442, \u0447\u0442\u043e \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 checked \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c Kotlin, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 Java. \u041e\u0434\u043d\u0430\u043a\u043e, \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0442, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/code.tutsplus.com\/ru\/tutorials\/kotlin-from-scratch-exception-handling--cms-29820\" rel=\"noopener noreferrer nofollow\">code.tutsplus.com<\/a>, <a href=\"https:\/\/habr.com\/ru\/company\/maxilect\/blog\/447380\/\" rel=\"noopener noreferrer nofollow\">habr.com<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B5%D1%81%D1%82%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B%20%D0%B8%D0%B7%20Java%20%D0%B2%20Kotlin?\" id=\"\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?<\/h2>\n<p>\u0412 Kotlin \u043d\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043b\u0443\u0436\u0438\u0442 <code>companion object<\/code>.<br \/>\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u0435\u0442\u043e\u0434 \u0438\u0437 Java \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f <code>@JvmStatic<\/code>. \u042d\u0442\u0430 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 Kotlin \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432  \u0431\u0430\u0439\u0442-\u043a\u043e\u0434\u0435, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0432 Java.  <\/p>\n<p> \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432 Java:  <\/p>\n<pre><code class=\"java\">public class MyClass {     public static int sum(int a, int b) {         return a + b;     } }<\/code><\/pre>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432 Kotlin, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044e <code>@JvmStatic<\/code>:<\/p>\n<pre><code class=\"kotlin\">object MyClass {     @JvmStatic     fun sum(a: Int, b: Int): Int {         return a + b     } }<\/code><\/pre>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\"> <\/a><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/java-to-kotlin-interop.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%92%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%20%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%83%D0%B5%D1%82%D1%81%D1%8F%20internal%20%D0%B2%20Java?\" id=\"\u0412 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0412 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?<\/h2>\n<p>\u0412 Java \u043d\u0435\u0442 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 <code>internal<\/code> \u0438\u0437 Kotlin. \u041f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 Kotlin-\u043a\u043e\u0434\u0430 \u0432 Java-\u0431\u0430\u0439\u0442\u043a\u043e\u0434, \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 <code>internal<\/code> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 <code>public<\/code> \u0432 Java. <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u0441\u0435 \u0447\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u0430, \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a <code>internal<\/code>, \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u043d\u044b \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u0430\u043a\u0435\u0442\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044e. \u0427\u043b\u0435\u043d\u044b <code>internal<\/code> \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0445 \u0438\u0437 Java \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0443 \u0434\u043b\u044f \u0447\u043b\u0435\u043d\u043e\u0432 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0432\u0438\u0434\u044f\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 Kotlin.<\/p>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/4comprehension.com\/kotlins-internal-visibility-modifier-and-java-interoperability\/\" rel=\"noopener noreferrer nofollow\">4comprehension.com<\/a>, <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/java-to-kotlin-interop.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B5%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE%20==%20%D0%B8%20equals()\" id=\"\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()\"><\/a><\/p>\n<p> <a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()<\/h2>\n<h4>1. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u0432 Java<\/h4>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> <strong>(\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435)<\/strong> \u2014 \u043c\u0435\u0442\u043e\u0434 <code>equals().<br \/><\/code><strong>\u0421\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> \u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>==<\/code>:<br \/>\u2014 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445: \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<br \/>\u2014 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043c\u0430\u0441\u0441\u0438\u0432\u044b): \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0438<\/p>\n<h4>2. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u0432  Kotlin<\/h4>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> <strong>(\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435)<\/strong> \u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>==<\/code> (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 <code>equals()<\/code>)<br \/><strong>\u0421\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> \u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>===<\/code>:<br \/>\u2014 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445: \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<br \/>\u2014 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043c\u0430\u0441\u0441\u0438\u0432\u044b): \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0438<\/p>\n<h4>3. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 == \u0441 Java<\/h4>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> <strong>(\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435) <\/strong>\u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>==<\/code> \u0432 Kotlin \u044d\u0442\u043e <code>equals()<\/code> \u0432 Java, \u0442.\u0435. \u0432 Kotlin \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 <code>==<\/code>.<br \/><strong>\u0421\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e <\/strong>\u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>===<\/code> \u0432 Kotlin \u044d\u0442\u043e <code>==<\/code> \u0432 Java.<\/p>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/equality.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a>, <a href=\"https:\/\/translated.turbopages.org\/proxy_u\/en-ru.ru.0519f9eb-63f2e6e6-7f84a483-74722d776562\/https\/www.baeldung.com\/kotlin\/equality-operators\" rel=\"noopener noreferrer nofollow\">baeldung.com<\/a>, <a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/532270\/\" rel=\"noopener noreferrer nofollow\">habr.com<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BF%D1%80%D0%BE%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B8%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B,%20object%20%D0%B8%20companion%20object\" id=\"\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object<\/h2>\n<p><strong>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b<\/strong> \u2014 \u044d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043d\u043e <strong>\u043d\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b<\/strong> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>class<\/code>, \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. <\/p>\n<p>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <strong>\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043d\u0433\u043b\u0442\u043e\u043d\u043e\u043c<\/strong>. \u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435, \u0433\u0434\u0435 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u0442\u043e\u0433\u043e \u0436\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0412 Kotlin \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"kotlin\">val obj = object : SuperClassOrInterface() {     \/\/ implementation here }<\/code><\/pre>\n<p>\u041e\u0431\u044a\u0435\u043a\u0442\u044b \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 <strong>\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438<\/strong>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 <strong>\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c, \u0430 \u043d\u0435 \u0438\u043c\u0435\u043d\u0435\u043c<\/strong>. \u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 <code>object<\/code>.<\/p>\n<ul>\n<li>\n<p>\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0431\u043b\u043e\u043a\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<\/p>\n<\/li>\n<li>\n<p><strong>\u043d\u0435\u043b\u044c\u0437\u044f<\/strong> \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b (\u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435, \u0442\u0430\u043a \u0438 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u0435)<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e <code>object<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 (\u0442.\u0435. \u043e\u0431\u044a\u0435\u043a\u0442). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443:<\/p>\n<ul>\n<li>\n<p><code>object Name<\/code> \u2014 \u044d\u0442\u043e <strong>\u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/strong> (\u043ebject declaration), \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 <strong>Singleton<\/strong><\/p>\n<\/li>\n<li>\n<p><code>companion object<\/code> \u2014 \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442-\u043a\u043e\u043c\u043f\u0430\u043d\u044c\u043e\u043d \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 (<strong>\u0442\u0430\u043a\u0436\u0435 Singleton<\/strong>)<\/p>\n<\/li>\n<li>\n<p><code>object<\/code> \u2014 \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\/object expression), <strong>\u043d\u0435 Singleton<\/strong><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"%D0%9E%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%20(object%20declaration),%20object%20%D0%BA%D0%B0%D0%BA%20Singleton\" id=\"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (object declaration), object \u043a\u0430\u043a Singleton\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (object declaration), object \u043a\u0430\u043a Singleton <\/h2>\n<p>\u041e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 <code>object<\/code>, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 <code>\u0438\u043c\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/code>.<\/p>\n<p>\u0424\u0430\u0439\u043b, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u043e\u043b\u044c\u043a\u043e <code>object<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f <strong>Singleton<\/strong>, \u0442.\u0435. \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440<\/strong> \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"kotlin\">object One { val cats = arrayListOf&lt;Cat>()  fun callCat() { for (cat in cats) { ... } } }<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043c\u0435\u0442\u043e\u0434\u0430\u043c \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c \u043a\u043b\u0430\u0441\u0441\u0430 \u0447\u0435\u0440\u0435\u0437 \u0438\u043c\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430:<\/p>\n<pre><code class=\"kotlin\">One.cats.add(Cat(...)) One.callCat()<\/code><\/pre>\n<p>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 (\u043b\u0435\u043d\u0438\u0432\u043e).<\/p>\n<p><a class=\"anchor\" name=\"%D0%A1ompanion%20object%20(%D1%82%D0%B0%D0%BA%D0%B6%D0%B5%20Singleton)\" id=\"\u0421ompanion object (\u0442\u0430\u043a\u0436\u0435 Singleton)\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0421ompanion object (\u0442\u0430\u043a\u0436\u0435 Singleton)<\/h2>\n<p>\u041e\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u0442 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443. \u041d\u043e <strong>\u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u043e\u0431\u044a\u0435\u043a\u0442<\/strong> \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c <code>companion object<\/code> \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430.<\/p>\n<p>\u0421\u0438\u043d\u0433\u043b\u0442\u043e\u043d-\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e <code>companion object<\/code> \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u043d\u0435\u043c\u0443.<\/p>\n<p><strong>\u0422\u0430\u043a\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0438\u043c\u044f<\/strong>, \u0438 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043c\u0435\u0442\u043e\u0434\u0430\u043c \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0438\u043c\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e \u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 <strong>\u0431\u0435\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/strong>.<\/p>\n<pre><code class=\"kotlin\">class SomeClass {    companion object {     fun create()   } }  val someClass = SomeClass.create()<\/code><\/pre>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 <code>public static final class<\/code> \u043d\u0430 Java. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u043c\u0443 \u0441\u043b\u043e\u0432\u0443 <code>static<\/code> \u0432 Java.<\/p>\n<p><a class=\"anchor\" name=\"%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20(%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B9%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82\/object%20expression)\" id=\"\u041e\u0431\u044a\u0435\u043a\u0442-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\/object expression)\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041e\u0431\u044a\u0435\u043a\u0442-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\/object expression)<\/h2>\n<p>\u041e\u0431\u044a\u0435\u043a\u0442-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 &#171;\u043d\u0430 \u0445\u043e\u0434\u0443&#187; \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442.<\/p>\n<p><strong>\u0414\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u044f!<\/strong><br \/>\u0415\u0441\u043b\u0438 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u044f, \u0442\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439:<\/p>\n<pre><code class=\"kotlin\">val tom = object {         val name = \"Tom\"         var age = 37         fun sayHello() {             println(\"Hi, my name is $name\")         }     }     println(\"Name: ${tom.name}  Age: ${tom.age}\")     tom.sayHello()<\/code><\/pre>\n<p><strong>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0438\u043d\u0433\u043b\u0442\u043e\u043d\u0430\u043c\u0438!<\/strong><br \/>\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442.<\/p>\n<p>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043c\u0435\u043d\u043e\u0439 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c \u0432 Java.<\/p>\n<p><a class=\"anchor\" name=\"%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%BC%20%D0%B8%20%D0%B4%D0%B5%D0%BA%D0%BB%D0%B0%D1%80%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%8B%D0%BC%20(%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%BC)%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%BC\" id=\"\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c \u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c (\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c\u044b\u043c) \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c \u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c (\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c\u044b\u043c) \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c<\/h2>\n<ul>\n<li>\n<p>\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 (<code>object<\/code>) \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 (\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c\u044b\u0439) \u043e\u0431\u044a\u0435\u043a\u0442 (<code>object Name<\/code>) \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043b\u0435\u043d\u0438\u0432\u043e, \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 (<code>companion object<\/code>) \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u043a\u043b\u0430\u0441\u0441, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f, \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c Java.<\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F%20@JvmStatic\" id=\"\u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f @JvmStatic\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f @JvmStatic<\/h2>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438 <code>@JvmStatic<\/code> \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c\u0443 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438, \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u043a \u043c\u0435\u0442\u043e\u0434\u0430\u043c <code>object<\/code>, \u0442\u0430\u043a \u0438 \u043a \u043c\u0435\u0442\u043e\u0434\u0430\u043c <code>companion object<\/code>.<\/p>\n<pre><code class=\"kotlin\">object ObjectWithStatic {     @JvmStatic     fun staticFun(): Int {         return 5     } }<\/code><\/pre>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0435\u0442\u043e\u0434 <code>staticFun<\/code> \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c:<\/p>\n<pre><code class=\"kotlin\">public final class ObjectWithStatic {    public static final ObjectWithStatic INSTANCE;      @JvmStatic    public static final int staticFun() {       return 5;    }      private ObjectWithStatic() {       INSTANCE = (ObjectWithStatic)this;    }      static {       new ObjectWithStatic();    } } <\/code><\/pre>\n<p><a class=\"anchor\" name=\"%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20Null%20safety,%20nullable%20%D0%B8%20non-nullable%20%D1%82%D0%B8%D0%BF%D1%8B?\" id=\"\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Null safety, nullable \u0438 non-nullable \u0442\u0438\u043f\u044b?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Null safety, nullable \u0438 non-nullable \u0442\u0438\u043f\u044b?<\/h2>\n<p><strong>Null safety<\/strong> \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c <strong>null<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u0412 Kotlin \u044d\u0442\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b <strong>Nullable\/Non-nullable<\/strong> \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p><strong>Nullable<\/strong> \u0442\u0438\u043f\u044b \u2014 \u044d\u0442\u043e \u0442\u0438\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>null<\/code>. <strong>Non-nullable<\/strong> \u0442\u0438\u043f\u044b \u2014 \u044d\u0442\u043e \u0442\u0438\u043f\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>null<\/code> \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u043c\u0435\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0412 Kotlin \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f <strong>non-nullable<\/strong> \u2014 \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>null<\/code>. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>null<\/code>, \u0442\u043e \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0437\u043d\u0430\u043a\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u0430 (<strong>?<\/strong>). \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <strong>Nullable<\/strong> \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0432 \u043a\u043e\u0434\u0435 Kotlin \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043d\u0435\u0439 \u0431\u0435\u0437 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 <strong>null<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 Kotlin \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 <strong>nullable<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b <strong>elvis<\/strong> <code>?:<\/code>, <strong>\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432<\/strong> <code>?.<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.<\/p>\n<p>\u0412 \u0446\u0435\u043b\u043e\u043c, \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f <strong>Null safety<\/strong> \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 <strong>null<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u043e\u0434\u0430.<\/p>\n<p><a class=\"anchor\" name=\"%D0%A1%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20null%20(if-else,%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B%20&quot;?.&quot;,%20&quot;!!.&quot;,%20&quot;?:&quot;)\" id=\"\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 null (if-else, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b &quot;?.&quot;, &quot;!!.&quot;, &quot;?:&quot;)\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 null (if-else, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b &#171;?.&#187;, &#171;!!.&#187;, &#171;?:&#187;)<\/h2>\n<p>Kotlin \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0442\u0438\u043f\u044b \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0438 \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 <strong>null-<\/strong>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c <strong>null<\/strong>, \u043d\u0443\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0435\u0435 \u043a\u0430\u043a <strong>nullable<\/strong> \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 <code>?<\/code>.<\/p>\n<pre><code class=\"kotlin\">val languageName: String? = null<\/code><\/pre>\n<p>\u041e\u0431\u044a\u044f\u0432\u043b\u044f\u044f <strong>nullable<\/strong> \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0432\u044b \u0431\u0435\u0440\u0451\u0442\u0435 \u043d\u0430 \u0441\u0435\u0431\u044f \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0418\u043d\u0430\u0447\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0442\u044c \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a <strong>NullPointerException<\/strong>.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 <strong>null<\/strong>.<\/p>\n<h4>1. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e if-else<\/h4>\n<p>\u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u044d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 <strong>null<\/strong> \u0438 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c.<\/p>\n<pre><code class=\"kotlin\">if(languageName != null) {     print(\"Name is : $languageName\") } else {     print(\"Please enter a valid name\") }<\/code><\/pre>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u0435\u0435, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, \u0435\u0441\u043b\u0438 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0432\u043d\u043e \u043b\u0438 \u043e\u043d\u043e <strong>null<\/strong>, \u0442\u043e <strong>if-else<\/strong> \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442.<\/p>\n<h4>2. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 &#171;?.&#187;<\/h4>\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <strong>null<\/strong> \u0438 \u0435\u0433\u043e \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c.<\/p>\n<pre><code class=\"kotlin\">languageName?.length<\/code><\/pre>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <code>languageName<\/code> \u0440\u0430\u0432\u043d\u043e <strong>null<\/strong>, \u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0441\u043b\u043e\u0432\u0430, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0435\u0440\u043d\u0451\u0442 <strong>null<\/strong>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u043b\u0438 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u043e\u0442 <strong>null<\/strong>, \u0442\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <strong>let<\/strong>. \u0412\u0441\u0451, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <strong>let<\/strong> \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043e\u0442 <strong>null<\/strong>.<\/p>\n<pre><code class=\"kotlin\">languageName?.let { println(it) }<\/code><\/pre>\n<h4>3. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#171;!!&#187;<\/h4>\n<p>\u0414\u0432\u0430 \u0432\u043e\u0441\u043a\u043b\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u0430, \u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u043f\u043e\u0441\u043b\u0435 <strong>nullable<\/strong>-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442 \u0435\u0433\u043e \u043a \u0442\u0438\u043f\u0443 \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 <strong>null<\/strong>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 <strong>null<\/strong>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>!!<\/code>, \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 <strong>null<\/strong>, \u0442\u043e \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0432\u044b\u0445\u043e\u0434 \u2014 \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 <strong>NullPointerException<\/strong>. \u0415\u0441\u043b\u0438 \u043e\u043d\u043e \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0434\u043e\u043c, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043c, \u0433\u0434\u0435 \u0432\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e <strong>null<\/strong> \u0431\u044b\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442.<\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044f\u043c <strong>NullPointerException<\/strong>. \u041e\u043d \u043a\u0430\u043a \u0431\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u2014 <strong>null<\/strong>, \u0442\u043e <strong>\u0422\u0420\u0415\u0411\u0423\u042e<\/strong> \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442\u044c <strong>NullPointerException<\/strong>.<\/p>\n<pre><code class=\"kotlin\">val languageName: String? = null val size = languageName!!.length<\/code><\/pre>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 <strong>\u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f<\/strong>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e (\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e) \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0441\u043b\u043e\u0432\u0438\u0442\u044c <strong>NPE<\/strong>. \u041f\u0440\u0438 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0438 \u043f\u0440\u0438 \u043a\u0430\u043a\u0438\u0445 \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u0445 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <strong>null<\/strong>. \u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430.<\/p>\n<h4>4. \u042d\u043b\u0432\u0438\u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043f\u043e null &#171;?:&#187;<\/h4>\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u044d\u043b\u0432\u0438\u0441 \u043f\u043e\u0434\u043e\u0431\u0435\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 <strong>null<\/strong> \u0432 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 <strong>if-else<\/strong>. \u042d\u043b\u0432\u0438\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b <strong>null<\/strong> \u043a\u0430\u043a\u0438\u043c-\u043b\u0438\u0431\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u043c \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0443\u0436\u0435\u043d\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u044d\u043b\u0432\u0438\u0441\u043e\u043c <strong>\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e nullable-\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<\/strong>.<\/p>\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u0415\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0440\u0430\u0432\u043d\u043e <strong>null<\/strong>, \u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430.<\/p>\n<pre><code class=\"kotlin\">val size: Int = languageName.length ?: 0<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>languageName<\/code> \u043d\u0435 \u0440\u0430\u0432\u043d\u043e <strong>null<\/strong>, \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <code>size<\/code>.<\/p>\n<p>\u0415\u0441\u043b\u0438 <code>languageName<\/code> \u0440\u0430\u0432\u043d\u043e <strong>null<\/strong>, \u0442\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>0<\/strong>.<\/p>\n<p>\u041d\u043e \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <code>size<\/code> \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 <strong>Int<\/strong>, \u0430 \u043d\u0435 <strong>Int?<\/strong>, \u0442\u043e \u0435\u0441\u0442\u044c <strong>non-null<\/strong> \u0442\u0438\u043f.<\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <strong>let<\/strong> \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 <strong>if-else<\/strong>.<\/p>\n<pre><code class=\"kotlin\">\/\/ \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c if-else if(languageName != null) {     print(\"Name is : $languageName\") } else {     print(\"Please enter a valid name\") }  \/\/ \u042d\u043b\u0432\u0438\u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f let languageName?.let {   print(\"Name is : $languageName\") } ?: print(\"Please enter a valid name\")<\/code><\/pre>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/bimlibik.github.io\/posts\/kotlin-null-safety\/\" rel=\"noopener noreferrer nofollow\">bimlibik.github.io<\/a>, <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/null-safety.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a>, <a href=\"https:\/\/younglinux.info\/kotlin\/null-operators\" rel=\"noopener noreferrer nofollow\">younglinux.info<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9E%D1%82%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20%D1%83%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B%20%D0%B2%D1%81%D0%B5%20%D0%BE%D1%81%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B2%20Kotlin?\" id=\"\u041e\u0442 \u043a\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 Kotlin?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041e\u0442 \u043a\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 Kotlin?<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>Any<\/code> \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u2014 \u0432\u0441\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 Kotlin \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u0430\u043c\u0438 <code>Any<\/code>. \u042d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043b\u0430\u0441\u0441 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u043d\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b <code>equals<\/code>, <code>hashCode<\/code> \u0438 <code>toString<\/code>. \u041a\u043b\u0430\u0441\u0441 <code>Any<\/code> \u043f\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 <code>Object<\/code> \u0432 Java.<\/p>\n<pre><code class=\"kotlin\">public open class Any {    public open operator fun equals(other: Any?): Boolean    public open fun hashCode(): Int    public open fun toString(): String }   <\/code><\/pre>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/gb.ru\/posts\/razbiraemsya-v-tipah-kotlin-unit-nothing-any-i-null\" rel=\"noopener noreferrer nofollow\">gb.ru<\/a>, <a href=\"https:\/\/kotlins.org\/any-unit-and-nothing-types\" rel=\"noopener noreferrer nofollow\">kotlins.org<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%A7%D0%B5%D0%BC%20Any%20%D0%B2%20Kotlin%20%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BE%D1%82%20Object%20%D0%B2%20Java?\" id=\"\u0427\u0435\u043c Any \u0432 Kotlin \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 Object \u0432 Java?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0427\u0435\u043c Any \u0432 Kotlin \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 Object \u0432 Java?<\/h2>\n<p><code>Any<\/code> \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u044b\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u043c <code>java.lang.Object<\/code>.<\/p>\n<p>\u0412 <code>Object<\/code> <strong>11 \u043c\u0435\u0442\u043e\u0434\u043e\u0432<\/strong> \u0432 \u043a\u043b\u0430\u0441\u0441\u0435, \u0432 <code>Any<\/code> \u0442\u043e\u043b\u044c\u043a\u043e <strong>3 \u043c\u0435\u0442\u043e\u0434\u0430<\/strong>: <code>equals()<\/code>, <code>hashCode()<\/code> \u0438 <code>toString()<\/code>. \u041f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0442\u0438\u043f\u043e\u0432 Java \u0432 Kotlin \u0432\u0441\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0442\u0438\u043f\u0430 <code>java.lang.Object<\/code> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442\u0441\u044f \u0432 <code>Any<\/code>. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 <code>Any<\/code> \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043e\u043d \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e <code>toString()<\/code>, <code>hashCode()<\/code> \u0438 <code>equals()<\/code> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0432\u043e\u0438\u0445 \u0447\u043b\u0435\u043d\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0447\u043b\u0435\u043d\u044b <code>java.lang.Object<\/code> \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438, Kotlin \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <strong>\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f<\/strong>.<\/p>\n<p>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u044b <code>Object<\/code> \u0438 <code>Any<\/code> \u0438\u043c\u0435\u044e\u0442 \u0441\u0445\u043e\u0434\u0441\u0442\u0432\u0430 (\u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432), \u043e\u043d\u0438 \u0442\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u044e\u0442 \u0438 \u043e\u0442\u043b\u0438\u0447\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u043c\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 Kotlin \u0438 Java:<\/p>\n<ol>\n<li>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>Any<\/code> \u0432 Kotlin \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0438 <strong>\u0441\u0443\u043f\u0435\u0440\u0442\u0438\u043f\u043e\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0435-nullable \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0435<\/strong>. \u0412 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0432 Java, \u043a\u043b\u0430\u0441\u0441 <code>Object<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0412 Kotlin \u0432\u0441\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0442\u0441\u044f \u043e\u0442 <code>Any<\/code> <strong>\u043d\u0435\u044f\u0432\u043d\u043e<\/strong>, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0432 Java, <strong>\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435<\/strong> \u043e\u0442 <code>Object<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>Any<\/code> \u0432 Kotlin \u0442\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 <strong>nullable<\/strong> \u0432\u0435\u0440\u0441\u0438\u044e <code>Any?<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u043f\u0435\u0440\u0442\u0438\u043f\u043e\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 <strong>nullable<\/strong> \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kotlin. \u0412 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0432 Java, \u043a\u043b\u0430\u0441\u0441 <code>Object<\/code> <strong>\u043d\u0435 \u0438\u043c\u0435\u0435\u0442 nullable \u0432\u0435\u0440\u0441\u0438\u0438<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<p><a class=\"anchor\" name=\"%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9%20%D1%82%D0%B8%D0%BF%20%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%81%D1%8F%20%D0%BD%D0%B0%20%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%B5%20%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8%20%D1%82%D0%B8%D0%BF%D0%BE%D0%B2%20%D0%B2%20Kotlin?\" id=\"\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0442\u0438\u043f\u043e\u0432 \u0432 Kotlin?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0442\u0438\u043f\u043e\u0432 \u0432 Kotlin?<\/h2>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e <code>Object<\/code> \u0432 Java, \u043a \u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 \u0442\u0438\u043f \u0432 Kotlin? <br \/>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 <code>Any?<\/code>.<\/p>\n<p>\u0421\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043a\u043b\u0430\u0441\u0441 <code>Any<\/code> \u044d\u0442\u043e \u043f\u043e\u0447\u0442\u0438 \u0430\u043d\u0430\u043b\u043e\u0433 <code>Object<\/code>, \u043e\u0434\u043d\u0430\u043a\u043e, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 <strong>nullable<\/strong> \u0438 <strong>\u043d\u0435-nullable<\/strong> \u0442\u0438\u043f\u043e\u0432 \u0432 Kotlin \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 <code>Any?<\/code>. \u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438, <code>Any?<\/code> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 <strong>\u043b\u044e\u0431\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u0438 <\/strong><code>null<\/code>, \u0430 <code>Any<\/code> <strong>\u0442\u043e\u043b\u044c\u043a\u043e \u043b\u044e\u0431\u043e\u043c\u0443 \u0442\u0438\u043f\u0443<\/strong>.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443:<\/p>\n<ol>\n<li>\n<p><code>Any<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u043d\u0435\u043c \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 <strong>\u043d\u0435-nullable<\/strong> \u0442\u0438\u043f\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><code>Any?<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u043d\u0435\u043c \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 <strong>nullable<\/strong> \u0442\u0438\u043f\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a <code>Any?<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u043f\u0435\u0440\u0442\u0438\u043f\u043e\u043c <code>Any<\/code>, \u0442\u043e <code>Any?<\/code> <strong>\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u0432\u0435\u0440\u0445\u0443 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0442\u0438\u043f\u043e\u0432 \u0432 Kotlin<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/78c\/dde\/a3c\/78cddea3ca15b60997861e9e2332906e.png\" width=\"2310\" height=\"1146\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78c\/dde\/a3c\/78cddea3ca15b60997861e9e2332906e.png\"\/><\/figure>\n<p><a class=\"anchor\" name=\"%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BE%20Unit\" id=\"\u041a\u0440\u0430\u0442\u043a\u043e \u043e Unit\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0440\u0430\u0442\u043a\u043e \u043e Unit<\/h2>\n<p>\u0422\u0438\u043f <code>Unit<\/code> \u0432 Kotlin \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0447\u0442\u043e \u0438 <code>void<\/code> \u0432 Java.<\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0439 \u0442\u0438\u043f \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0430\u043c \u0431\u0443\u0434\u0435\u0442 <code>Unit<\/code>:<\/p>\n<pre><code class=\"kotlin\">fun knockKnock() {    println(\"Who\u2019s there?\") }  \/\/ \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0442\u0438\u043f\u043e\u043c Unit fun knockKnock(): Unit = println(\"Who\u2019s there?\") <\/code><\/pre>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/gb.ru\/posts\/razbiraemsya-v-tipah-kotlin-unit-nothing-any-i-null\" rel=\"noopener noreferrer nofollow\">gb.ru<\/a>, <a href=\"https:\/\/kotlins.org\/any-unit-and-nothing-types\" rel=\"noopener noreferrer nofollow\">kotlins.org<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20instance%20Unit%20(1)?\" id=\"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Unit (1)?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Unit (1)?<\/h2>\n<p>\u0412 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 Kotlin <code>Unit<\/code> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d \u043a\u0430\u043a \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0439 \u043e\u0442 <code>Any<\/code> \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434, \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0439 <code>toString()<\/code>:<\/p>\n<pre><code class=\"kotlin\">public object Unit {    override fun toString() = \"kotlin.Unit\" } <\/code><\/pre>\n<p><code>Unit<\/code> <strong>\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043d\u0433\u043b\u0442\u043e\u043d\u043e\u043c<\/strong> (\u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e <code>object<\/code>). <code>Unit<\/code> \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442, \u0430 \u043c\u0435\u0442\u043e\u0434 <code>toString<\/code> \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c <code>\u201ckotlin.Unit\u201d<\/code>. \u041f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 java-\u043a\u043e\u0434 <code>Unit<\/code> \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0432 <code>void<\/code>.<\/p>\n<p><a class=\"anchor\" name=\"%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BE%20Nothing\" id=\"\u041a\u0440\u0430\u0442\u043a\u043e \u043e Nothing\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0440\u0430\u0442\u043a\u043e \u043e Nothing<\/h2>\n<p><code>Nothing<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043f\u0440\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f <strong>\u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f<\/strong>.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b:<\/p>\n<ul>\n<li>\n<p>\u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 <code>exception<\/code> \u0438\u043b\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b<\/p>\n<\/li>\n<li>\n<p>\u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>TODO()<\/code> \u2014 <code>public inline fun TODO(): Nothing = throw NotImplementedError()<\/code><\/p>\n<\/li>\n<li>\n<p>\u0432 \u0442\u0435\u0441\u0442\u0430\u0445 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c <code>fail<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0434\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c:<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"kotlin\">fun fail(message: String): Nothing {     throw IllegalStateException(message) } <\/code><\/pre>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/gb.ru\/posts\/razbiraemsya-v-tipah-kotlin-unit-nothing-any-i-null\" rel=\"noopener noreferrer nofollow\">gb.ru<\/a>, <a href=\"https:\/\/kotlins.org\/any-unit-and-nothing-types\" rel=\"noopener noreferrer nofollow\">kotlins.org<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20instance%20Nothing%20(0)?\" id=\"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Nothing (0)?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Nothing (0)?<\/h2>\n<p><code>Nothing<\/code> \u2014 \u043a\u043b\u0430\u0441\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u043d\u0438\u043a\u043e\u043c \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0432 Kotlin, \u0434\u0430\u0436\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \u0441 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c <code>final<\/code>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c <code>Nothing<\/code> <strong>\u043d\u0435\u043b\u044c\u0437\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c<\/strong> \u2014 \u0443 \u043d\u0435\u0433\u043e <strong>\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440<\/strong>. \u0412 \u043a\u043e\u0434\u0435 \u043e\u043d \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u0442\u0430\u043a:<\/p>\n<pre><code class=\"kotlin\">public class Nothing private constructor() <\/code><\/pre>\n<p><a class=\"anchor\" name=\"%D0%95%D1%81%D1%82%D1%8C%20%D0%BB%D0%B8%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%20Nothing%20%D0%B2%20Java%20(%D0%BD%D0%B5%D1%82)?\" id=\"\u0415\u0441\u0442\u044c \u043b\u0438 \u0430\u043d\u0430\u043b\u043e\u0433 Nothing \u0432 Java (\u043d\u0435\u0442)?\"><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0415\u0441\u0442\u044c \u043b\u0438 \u0430\u043d\u0430\u043b\u043e\u0433 Nothing \u0432 Java (\u043d\u0435\u0442)?<\/h2>\n<p>\u0422\u0438\u043f <code>Nothing<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 <strong>\u0432 Java \u0435\u043c\u0443 \u043d\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432<\/strong>.<\/p>\n<p>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0439 \u0442\u0438\u043f Java, \u0432\u043a\u043b\u044e\u0447\u0430\u044f <code>java.lang.Void<\/code>, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f <code>null<\/code>, \u0430 <code>Nothing<\/code> \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0430\u0436\u0435 \u044d\u0442\u043e\u0433\u043e. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432 \u043c\u0438\u0440\u0435 Java. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 Kotlin \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0442\u0438\u043f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0442\u0438\u043f\u0430 <code>Nothing<\/code>:<\/p>\n<pre><code class=\"kotlin\">fun emptyList(): List&lt;Nothing> = listOf() \/\/ is translated to \/\/ List emptyList() { ... } <\/code><\/pre>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h3>\u0411\u041e\u041d\u0423\u0421:<\/h3>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/keyword-reference.html\" rel=\"noopener noreferrer nofollow\">1. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b Kotlin: kotlinlang.ru<\/a><br \/><a href=\"https:\/\/hr-vector.com\/kotlin\" rel=\"noopener noreferrer nofollow\">2. \u0422\u0435\u043c\u044b \u043f\u043e Kotlin: hr-vector.com<\/a><br \/><a href=\"https:\/\/devhints.io\/kotlin\" rel=\"noopener noreferrer nofollow\">3. \u0428\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u043f\u043e Kotlin: devhints.io<\/a><\/p>\n<blockquote>\n<\/blockquote>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/721084\/\" rel=\"noopener noreferrer nofollow\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 1<\/a> &#8212; \u0432\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435\u0441\u044c \u0437\u0434\u0435\u0441\u044c<br \/><a href=\"https:\/\/habr.com\/ru\/post\/722686\/\" rel=\"noopener noreferrer nofollow\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 2<\/a><br \/>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 3 (\u0441\u043a\u043e\u0440\u043e)<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/721084\/\"> https:\/\/habr.com\/ru\/post\/721084\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p><a href=\"https:\/\/habr.com\/ru\/post\/721084\/\" rel=\"noopener noreferrer nofollow\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 1<\/a> &#8212; \u0432\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435\u0441\u044c \u0437\u0434\u0435\u0441\u044c<br \/><a href=\"https:\/\/habr.com\/ru\/post\/722686\/\" rel=\"noopener noreferrer nofollow\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 2<\/a><br \/>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e Kotlin. \u0427\u0430\u0441\u0442\u044c 3 (\u0441\u043a\u043e\u0440\u043e)<\/p>\n<p><a class=\"anchor\" name=\"%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" id=\"\u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u043c \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432\">\u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432&#187;><\/a><\/p>\n<h2>\u0421\u043f\u0438\u0441\u043e\u043a \u0442\u0435\u043c \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432:<\/h2>\n<h4>1. Kotlin \u0438 Java<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%20Kotlin%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20Java\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 Kotlin \u043f\u0435\u0440\u0435\u0434 Java<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20Exception%20%D0%B2%20Java%20%D0%B8%20Kotlin\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 Exception \u0432 Java \u0438 Kotlin<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B5%D1%81%D1%82%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B%20%D0%B8%D0%B7%20Java%20%D0%B2%20Kotlin?\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%92%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%20%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%83%D0%B5%D1%82%D1%81%D1%8F%20internal%20%D0%B2%20Java?\" rel=\"noopener noreferrer nofollow\">\u0412 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B5%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE%20==%20%D0%B8%20equals()\" rel=\"noopener noreferrer nofollow\">\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>2. \u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BF%D1%80%D0%BE%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B8%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B,%20object%20%D0%B8%20companion%20object\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9E%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%20(object%20declaration),%20object%20%D0%BA%D0%B0%D0%BA%20Singleton\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (object declaration), object \u043a\u0430\u043a Singleton<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1ompanion%20object%20(%D1%82%D0%B0%D0%BA%D0%B6%D0%B5%20Singleton)\" rel=\"noopener noreferrer nofollow\">\u0421ompanion object (\u0442\u0430\u043a\u0436\u0435 Singleton)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82-%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20(%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B9%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82\/object%20expression)\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u044a\u0435\u043a\u0442-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\/object expression)<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%BC%20%D0%B8%20%D0%B4%D0%B5%D0%BA%D0%BB%D0%B0%D1%80%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%8B%D0%BC%20(%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%BC)%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%BC\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c \u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c (\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c\u044b\u043c) \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%90%D0%BD%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F%20@JvmStatic\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f @JvmStatic<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>3. Null safety<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20Null%20safety,%20nullable%20%D0%B8%20non-nullable%20%D1%82%D0%B8%D0%BF%D1%8B?\" rel=\"noopener noreferrer nofollow\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Null safety, nullable \u0438 non-nullable \u0442\u0438\u043f\u044b?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20null%20(if-else,%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B%20&quot;?.&quot;,%20&quot;!!.&quot;,%20&quot;?:&quot;)\" rel=\"noopener noreferrer nofollow\">\u0421\u043f\u043e\u0441\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 null (if-else, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b &#171;?.&#187;, &#171;!!.&#187;, &#171;?:&#187;)<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>4. Any<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9E%D1%82%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20%D1%83%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B%20%D0%B2%D1%81%D0%B5%20%D0%BE%D1%81%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B2%20Kotlin?\" rel=\"noopener noreferrer nofollow\">\u041e\u0442 \u043a\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 Kotlin?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A7%D0%B5%D0%BC%20Any%20%D0%B2%20Kotlin%20%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BE%D1%82%20Object%20%D0%B2%20Java?\" rel=\"noopener noreferrer nofollow\">\u0427\u0435\u043c Any \u0432 Kotlin \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 Object \u0432 Java?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9%20%D1%82%D0%B8%D0%BF%20%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%81%D1%8F%20%D0%BD%D0%B0%20%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD%D0%B5%20%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8%20%D1%82%D0%B8%D0%BF%D0%BE%D0%B2%20%D0%B2%20Kotlin?\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0442\u0438\u043f\u043e\u0432 \u0432 Kotlin?<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>5. Unit<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BE%20Unit\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0440\u0430\u0442\u043a\u043e \u043e Unit<\/u><\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20instance%20Unit%20(1)?\" rel=\"noopener noreferrer nofollow\">\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Unit (1)?<\/a><\/p>\n<\/li>\n<\/ul>\n<h4>6. Nothing<\/h4>\n<ul>\n<li>\n<p><a href=\"#%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BE%20Nothing\" rel=\"noopener noreferrer nofollow\">\u041a\u0440\u0430\u0442\u043a\u043e \u043e Nothing<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82%20instance%20Nothing%20(0)?\" rel=\"noopener noreferrer nofollow\">\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 instance Nothing (0)?<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%95%D1%81%D1%82%D1%8C%20%D0%BB%D0%B8%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%20Nothing%20%D0%B2%20Java%20(%D0%BD%D0%B5%D1%82)?\" rel=\"noopener noreferrer nofollow\">\u0415\u0441\u0442\u044c \u043b\u0438 \u0430\u043d\u0430\u043b\u043e\u0433 Nothing \u0432 Java (\u043d\u0435\u0442)?<\/a><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><\/figure>\n<p><a class=\"anchor\" name=\"%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%20Kotlin%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20Java\" id=\"\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 Kotlin \u043f\u0435\u0440\u0435\u0434 Java\">tlin \u043f\u0435\u0440\u0435\u0434 Java&#187;><\/a><\/p>\n<h2>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u044f\u0437\u044b\u043a\u0430 Kotlin \u043f\u0435\u0440\u0435\u0434 Java<\/h2>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u043d\u0430 Kotlin \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0435\u0435 \u043d\u0430 30-40%<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u041c\u0435\u043d\u044c\u0448\u0435 \u043a\u043e\u0434\u0430 = \u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0448\u0438\u0431\u043e\u043a, \u0432\u044b\u0448\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043e\u0431\u043d\u0443\u043b\u044f\u0435\u043c\u044b\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 (Null Safety)<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Java, \u0432 Kotlin \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u0441\u0435 \u0442\u0438\u043f\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f non-nullable, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null. \u041f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 null \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null, \u0432 Kotlin \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u044f\u0432\u043d\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043a\u0430\u043a nullable (\u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043f\u043e\u0441\u043b\u0435 \u0442\u0438\u043f\u0430 \u0437\u043d\u0430\u043a \u0432\u043e\u043f\u0440\u043e\u0441\u0430). \u0412 Java \u0436\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c null, \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432 \u0432\u0438\u0434\u0435 \u00abNullPointerExpertion!\u00bb.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0424\u0443\u043d\u043a\u0446\u0438\u0438-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f (Extensions)<\/summary>\n<div class=\"spoiler__content\">\n<h3>Kotlin \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u043f\u0443\u0442\u0451\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u042d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c. \u0422\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043a\u0430\u043a \u0435\u0441\u043b\u0438 \u0431\u044b \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u042d\u0442\u043e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a\u043b\u0430\u0441\u0441\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (data classes)<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430 Java \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e, \u043d\u043e \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043a\u043e\u0434\u0430 (\u0442.\u043d. \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u043b\u0438 boilerplate). \u0412 Kotlin \u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0435\u0442\u0442\u0435\u0440\u043e\u0432 \u0438 \u0433\u0435\u0442\u0442\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Hashcode(), toString() \u0438 equals(). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c data \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430, \u0437\u0430\u0442\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u0430\u043c.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0438 \u041b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 (higher-order function) \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u043b\u0438 \u043b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u0430\u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u041b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0445\u043e\u0442\u044c \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439. <\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u0421\u0438\u043d\u0433\u043b\u0442\u043e\u043d\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0437\u044b\u043a\u0430 (Object)<\/summary>\n<div class=\"spoiler__content\">\n<h3>\u0412 Java \u0432\u0441\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430. \u041d\u043e \u0432 Kotlin \u0432\u0441\u0435 \u0438\u043d\u0430\u0447\u0435. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430, \u0438 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e static. \u0412 Java \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u043b\u0435\u043d\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0447\u043b\u0435\u043d\u044b-\u043e\u0431\u044a\u0435\u043a\u0442\u044b. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u043d\u0430\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u0432\u0435\u0449\u0438, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0432 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a (map) \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442. \u0412 Kotlin static \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u043e\u043c \u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u044b-\u043a\u043e\u043c\u043f\u0430\u043d\u044c\u043e\u043d\u044b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0442\u044c \u0432\u044b\u0448\u0435\u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f. \u0412 \u044d\u0442\u043e\u043c \u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0447\u043b\u0435\u043d\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432-\u043a\u043e\u043c\u043f\u0430\u043d\u044c\u043e\u043d\u043e\u0432 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u043b\u0435\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043d\u0438 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u043c\u043e\u0433\u0443\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0440\u0443\u0442\u0438\u043d\u044b <\/summary>\n<div class=\"spoiler__content\">\n<h3>Kotlin \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438, \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u043d\u0435\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0442.\u043d. \u043a\u043e\u0440\u0443\u0442\u0438\u043d\u044b (\u0441\u043e\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u043c, \u0442.\u043a. \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043e\u043d\u0438 \u0431\u0435\u0437 \u0441\u0442\u0435\u043a\u0430. \u041a\u043e\u0440\u0443\u0442\u0438\u043d\u044b \u0436\u0435 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u044b\u0435 \u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e\u0442\u043e\u043a\u0430 \u0438 \u0435\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. \u0427\u0442\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u043e\u043d\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u043d\u044b\u0435 \u0434\u043e\u043f. \u0441\u0442\u0438\u043b\u0438 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 async \u0438\u043b\u0438 await.<\/h3>\n<h3>\u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e? \u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u2014 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f. Android \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u044b\u043c, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u0432 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u043e\u0442\u043e\u043a, \u043d\u0435 \u0434\u0430\u0432\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u0434\u0430. Java \u0436\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0430\u0447\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0444\u043e\u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430. \u041d\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c \u0432 \u043a\u043e\u0434\u0435.<\/h3>\n<\/p>\n<\/div>\n<\/details>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:<\/strong><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/typecasts.html\" rel=\"noopener noreferrer nofollow\">\u0423\u043c\u043d\u044b\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/basic-types.html#strings\" rel=\"noopener noreferrer nofollow\">\u0421\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/delegation.html\" rel=\"noopener noreferrer nofollow\">\u0414\u0435\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0437\u044b\u043a\u0430<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/basic-types.html\" rel=\"noopener noreferrer nofollow\">\u0412\u044b\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432<\/a><\/p>\n<p><a href=\"https:\/\/kotlinlang.ru\/docs\/generics.html\" rel=\"noopener noreferrer nofollow\">\u0411\u043e\u043b\u0435\u0435 \u0433\u0438\u0431\u043a\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 generics<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%A0%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20Exception%20%D0%B2%20Java%20%D0%B8%20Kotlin\" id=\"\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 Exception \u0432 Java \u0438 Kotlin\">va \u0438 Kotlin&#187;><\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 Exception \u0432 Java \u0438 Kotlin<\/h2>\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 Java \u0438 Kotlin \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c. \u0412 Java \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439: <strong>checked<\/strong> \u0438 <strong>unchecked<\/strong>. <\/p>\n<p><strong>Checked<\/strong> \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b \u0432 \u043a\u043e\u0434\u0435, \u0438\u043d\u0430\u0447\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043a\u043e\u0434\u0443 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f. <strong>Unchecked<\/strong> \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435.  <\/p>\n<p>\u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Kotlin \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 <strong>checked<\/strong> \u0438 <strong>unchecked<\/strong> \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u0412\u0441\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u2014 <strong>\u0442\u043e\u043b\u044c\u043a\u043e unchecked<\/strong>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u0432\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 \u0438\u0445 \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c).<\/p>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 Kotlin, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0438 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u043e\u0439\u043b\u0435\u0440\u043f\u043b\u0435\u0439\u0442\u0430 \u0438 \u0443\u043b\u0443\u0447\u0448\u0438\u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u043f\u0443\u0449\u0435\u043d\u044b \u043f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442, \u0447\u0442\u043e \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 checked \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c Kotlin, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0448\u0438\u0431\u043a\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u044b \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 Java. \u041e\u0434\u043d\u0430\u043a\u043e, \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e\u0442, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/code.tutsplus.com\/ru\/tutorials\/kotlin-from-scratch-exception-handling--cms-29820\" rel=\"noopener noreferrer nofollow\">code.tutsplus.com<\/a>, <a href=\"https:\/\/habr.com\/ru\/company\/maxilect\/blog\/447380\/\" rel=\"noopener noreferrer nofollow\">habr.com<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B5%D1%81%D1%82%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B%20%D0%B8%D0%B7%20Java%20%D0%B2%20Kotlin?\" id=\"\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?\">\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?&#187;<\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0437 Java \u0432 Kotlin?<\/h2>\n<p>\u0412 Kotlin \u043d\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043b\u0443\u0436\u0438\u0442 <code>companion object<\/code>.<br \/>\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u0435\u0442\u043e\u0434 \u0438\u0437 Java \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u0430\u043a \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f <code>@JvmStatic<\/code>. \u042d\u0442\u0430 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 Kotlin \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432  \u0431\u0430\u0439\u0442-\u043a\u043e\u0434\u0435, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0432 Java.  <\/p>\n<p> \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432 Java:  <\/p>\n<pre><code class=\"java\">public class MyClass {     public static int sum(int a, int b) {         return a + b;     } }<\/code><\/pre>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432 Kotlin, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044e <code>@JvmStatic<\/code>:<\/p>\n<pre><code class=\"kotlin\">object MyClass {     @JvmStatic     fun sum(a: Int, b: Int): Int {         return a + b     } }<\/code><\/pre>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\"> <\/a><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/java-to-kotlin-interop.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%92%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%20%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%83%D0%B5%D1%82%D1%81%D1%8F%20internal%20%D0%B2%20Java?\" id=\"\u0412 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?\">\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?&#187;<\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u0412 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f internal \u0432 Java?<\/h2>\n<p>\u0412 Java \u043d\u0435\u0442 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 <code>internal<\/code> \u0438\u0437 Kotlin. \u041f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 Kotlin-\u043a\u043e\u0434\u0430 \u0432 Java-\u0431\u0430\u0439\u0442\u043a\u043e\u0434, \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 <code>internal<\/code> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 <code>public<\/code> \u0432 Java. <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u0441\u0435 \u0447\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u0430, \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a <code>internal<\/code>, \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u043d\u044b \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u0430\u043a\u0435\u0442\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0434\u0443\u043b\u044e. \u0427\u043b\u0435\u043d\u044b <code>internal<\/code> \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0445 \u0438\u0437 Java \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0443 \u0434\u043b\u044f \u0447\u043b\u0435\u043d\u043e\u0432 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0432\u0438\u0434\u044f\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 Kotlin.<\/p>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/4comprehension.com\/kotlins-internal-visibility-modifier-and-java-interoperability\/\" rel=\"noopener noreferrer nofollow\">4comprehension.com<\/a>, <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/java-to-kotlin-interop.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F%20%D0%B2%20%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B5%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B2%D0%B5%D0%BD%D1%81%D1%82%D0%B2%D0%BE%20==%20%D0%B8%20equals()\" id=\"\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()\">\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()&#187;<\/a><\/p>\n<p> <a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e == \u0438 equals()<\/h2>\n<h4>1. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u0432 Java<\/h4>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> <strong>(\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435)<\/strong> \u2014 \u043c\u0435\u0442\u043e\u0434 <code>equals().<br \/><\/code><strong>\u0421\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> \u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>==<\/code>:<br \/>\u2014 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445: \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<br \/>\u2014 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043c\u0430\u0441\u0441\u0438\u0432\u044b): \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0438<\/p>\n<h4>2. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u0432  Kotlin<\/h4>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> <strong>(\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435)<\/strong> \u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>==<\/code> (\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 <code>equals()<\/code>)<br \/><strong>\u0421\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> \u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>===<\/code>:<br \/>\u2014 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445: \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<br \/>\u2014 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043c\u0430\u0441\u0441\u0438\u0432\u044b): \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0438<\/p>\n<h4>3. \u0420\u0430\u0437\u043d\u0438\u0446\u0430 == \u0441 Java<\/h4>\n<p><strong>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e<\/strong> <strong>(\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435) <\/strong>\u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>==<\/code> \u0432 Kotlin \u044d\u0442\u043e <code>equals()<\/code> \u0432 Java, \u0442.\u0435. \u0432 Kotlin \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 <code>==<\/code>.<br \/><strong>\u0421\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e <\/strong>\u2014 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <code>===<\/code> \u0432 Kotlin \u044d\u0442\u043e <code>==<\/code> \u0432 Java.<\/p>\n<p><strong>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435:<\/strong> <a href=\"https:\/\/kotlinlang.ru\/docs\/reference\/equality.html\" rel=\"noopener noreferrer nofollow\">kotlinlang.ru<\/a>, <a href=\"https:\/\/translated.turbopages.org\/proxy_u\/en-ru.ru.0519f9eb-63f2e6e6-7f84a483-74722d776562\/https\/www.baeldung.com\/kotlin\/equality-operators\" rel=\"noopener noreferrer nofollow\">baeldung.com<\/a>, <a href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/532270\/\" rel=\"noopener noreferrer nofollow\">habr.com<\/a><\/p>\n<p><a class=\"anchor\" name=\"%D0%9A%D1%80%D0%B0%D1%82%D0%BA%D0%BE%20%D0%BF%D1%80%D0%BE%20%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D0%B5%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B%20%D0%B8%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B,%20object%20%D0%B8%20companion%20object\" id=\"\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object\">\u0442\u044b, object \u0438 companion object&#187;<\/a><\/p>\n<p><a href=\"#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%20%D1%82%D0%B5%D0%BC%20%D0%B8%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u2014\u2014\u2014\u2014\u2014\u2014 \u2191\u2191\u2191 \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u2191\u2191\u2191 \u2014\u2014\u2014\u2014\u2014\u2014<\/a><\/p>\n<h2>\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, object \u0438 companion object<\/h2>\n<p><strong>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b<\/strong> \u2014 \u044d\u0442\u043e \u043a\u043b\u0430\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043d\u043e <strong>\u043d\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b<\/strong> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>class<\/code>, \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. <\/p>\n<p>\u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <strong>\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043d\u0433\u043b\u0442\u043e\u043d\u043e\u043c<\/strong>. \u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435, \u0433\u0434\u0435 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u0442\u043e\u0433\u043e \u0436\u0435 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0412 Kotlin \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"kotlin\">val obj = object : SuperClassOrInterface() {     \/\/ implementation here }<\/code><\/pre>\n<p>\u041e\u0431\u044a\u0435\u043a\u0442\u044b \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 <strong>\u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438<\/strong>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 <strong>\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f<\/strong><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-346998","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/346998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=346998"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/346998\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=346998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=346998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=346998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}