{"id":388663,"date":"2024-06-29T08:05:29","date_gmt":"2024-06-29T08:05:29","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=388663"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=388663","title":{"rendered":"<span>\u0421\u043a\u0430\u0437\u043a\u0430 \u043e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0438<\/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>\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0446\u0430\u0440\u0441\u0442\u0432\u0435, \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435 \u0436\u0438\u043b \u0431\u044b\u043b \u0446\u0430\u0440\u044c. \u041a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437 \u043e\u0431\u044a\u044f\u0432\u0438\u043b \u0446\u0430\u0440\u044c \u0432\u0441\u0435\u043c\u0443 \u043d\u0430\u0440\u043e\u0434\u0443 &#8212; &#171;\u041a\u0442\u043e \u0440\u0435\u0448\u0438\u0442 \u0442\u0440\u0438 \u043c\u043e\u0438\u0445 \u0437\u0430\u0434\u0430\u0447\u043a\u0438, \u0442\u043e\u0442 \u0441\u0430\u043c \u0441\u043c\u043e\u0436\u0435\u0442 \u0446\u0430\u0440\u0451\u043c \u0441\u0442\u0430\u0442\u044c&#187;. \u0418 \u0434\u0430\u0436\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043c\u0435\u0442\u043e\u0434\u0430 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b, \u0432\u0441\u0451 \u0447\u0435\u0441\u0442\u044c \u043f\u043e \u0447\u0435\u0441\u0442\u0438.<\/p>\n<pre><code class=\"java\">public interface \u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844\u00a0{    interface \u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438 {}    void set\u0426\u0430\u0440\u044c(\u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;? extends \u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438> \u043d\u043e\u0432\u044b\u0439\u0426\u0430\u0440\u044c);   \u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;?> get\u0426\u0430\u0440\u044c(); }<\/code><\/pre>\n<p>\u041f\u0440\u0438\u0448\u0451\u043b \u043a \u0446\u0430\u0440\u044e \u043a\u0443\u0437\u043d\u0435\u0446, \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u0435\u043b\u0430\u0445 \u0434\u043e\u043a\u0430, \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442: &#171;\u0414\u0430\u0432\u0430\u0439 \u0441\u0432\u043e\u0438 \u0437\u0430\u0434\u0430\u0447\u043a\u0438&#187;<\/p>\n<p>\u0426\u0430\u0440\u044c \u0440\u0443\u043a\u0438 \u043f\u043e\u0442\u0438\u0440\u0430\u0435\u0442 \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442: &#171;\u041d\u0443 \u0447\u0442\u043e \u0436, \u0438\u0437\u0432\u043e\u043b\u044c. \u0412\u043e\u0442 \u043c\u043e\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u043a\u0430&#187;<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u0430\u0445<\/h2>\n<p>&#171;\u0425\u043e\u0447\u0443 \u0432 \u0443\u043a\u0430\u0437\u0430\u0445 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0439 \u0441\u0435\u0437\u043e\u043d \u0441\u0431\u043e\u0440\u0430 \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u043e\u0432. \u0421\u043a\u0430\u0436\u0435\u043c, \u0432\u0435\u0441\u043d\u043e\u0439 \u0438 \u043e\u0441\u0435\u043d\u044c\u044e. \u041c\u043e\u0433\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"java\">enum \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 { \u0412\u0415\u0421\u041d\u0410, \u041e\u0421\u0415\u041d\u042c, \u0417\u0418\u041c\u0410, \u041b\u0415\u0422\u041e }  void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430) {      if (!(\u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 == \u041e\u0421\u0415\u041d\u042c || \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 == \u0412\u0415\u0421\u041d\u0410))         throw new RuntimeException(\"\u0417\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e!\"); }<\/code><\/pre>\n<p>\u041d\u043e \u0442\u043e\u0433\u0434\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435. \u0410 \u044f \u0445\u043e\u0447\u0443, \u0447\u0442\u043e\u0431\u044b \u0435\u0449\u0451 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u044b\u043b\u043e \u043f\u043e\u0439\u0442\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u0438 \u0437\u0438\u043c\u043e\u0439, \u0447\u0442\u043e\u0431 \u043f\u0440\u044f\u043c\u043e \u0432 \u0443\u043a\u0430\u0437\u0435 \u0431\u044b\u043b\u043e \u044f\u0441\u043d\u043e &#8212; \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043b\u044c\u0437\u044f&#187;<\/p>\n<p>&#171;\u041d\u0443, <em>\u2013 <\/em>\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u0443\u0437\u043d\u0435\u0446, <em>\u2013<\/em> \u0441\u0434\u0435\u043b\u0430\u0439 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u0434\u0432\u0430 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u0430, \u0432\u043e\u0442 \u0442\u0430\u043a \u043a\u0430\u043a-\u0442\u043e&#187;<\/p>\n<pre><code class=\"java\">sealed interface \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {}  final class \u0417\u0438\u043c\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u0412\u0435\u0441\u043d\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u041b\u0435\u0442\u043e implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u041e\u0441\u0435\u043d\u044c implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {}  void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0435\u0441\u043d\u0430 \u0432\u0435\u0441\u043d\u0430) {} void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u041e\u0441\u0435\u043d\u044c \u043e\u0441\u0435\u043d\u044c) {}<\/code><\/pre>\n<p>&#171;\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0437\u0438\u043c\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0439\u0442\u0438 <em>\u2013<\/em> \u043d\u0435 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f&#187;<\/p>\n<p>&#171;\u0410 \u0435\u0441\u043b\u0438 \u0441\u0435\u0437\u043e\u043d\u044b \u043c\u0435\u043d\u044f\u0442\u044c <em>\u2013<\/em> \u044d\u0442\u043e \u043c\u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u044d\u0442\u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c? \u041d\u0435 \u0445\u043e\u0447\u0443. \u0425\u043e\u0447\u0443 \u043e\u0434\u0438\u043d \u043c\u0435\u0442\u043e\u0434!&#187;<\/p>\n<p>&#171;\u0415\u0436\u0435\u043b\u0438 \u043e\u0434\u0438\u043d \u043c\u0435\u0442\u043e\u0434, \u0442\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043c\u0430\u0440\u043a\u0435\u0440\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0437\u0430\u0432\u0435\u0441\u0442\u0438 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u043c \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c&#187;  <\/p>\n<pre><code class=\"java\">interface \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 {}  final class \u0417\u0438\u043c\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u0412\u0435\u0441\u043d\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430, \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 {} final class \u041b\u0435\u0442\u043e implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u041e\u0441\u0435\u043d\u044c implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430, \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 {}  &lt;\u0412\u0413 extends \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 &amp; \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438>    void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0413 \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430) {}<\/code><\/pre>\n<p>&#171;\u0423\u0436\u0435 \u043b\u0443\u0447\u0448\u0435, <em>\u2013 <\/em>\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0446\u0430\u0440\u044c. <em>\u2013<\/em> \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u043d\u0430\u0432\u0435\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0441\u0435\u0437\u043e\u043d\u0430\u043c. \u041c\u043e\u0436\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0431\u044b\u043b? \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0449\u0435&#187;<\/p>\n<p>&#171;\u0418\u0437\u0432\u043e\u043b\u044c, <em>\u2013 <\/em>\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u0443\u0437\u043d\u0435\u0446, <em>\u2013 <\/em>\u043c\u043e\u0436\u043d\u043e \u0438 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u0447\u0443\u0442\u043a\u0430 \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0432\u044b\u0439\u0434\u0435\u0442&#187;<\/p>\n<pre><code class=\"java\">static class \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430&lt;X> {}   interface \u0417\u0438\u043c\u0430 {}  interface \u0412\u0435\u0441\u043d\u0430 {}  interface \u041b\u0435\u0442\u043e {}  interface \u041e\u0441\u0435\u043d\u044c {}  interface \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 extends \u0417\u0438\u043c\u0430, \u0412\u0435\u0441\u043d\u0430 {}  static void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430&lt;? super \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438> \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430) {}<\/code><\/pre>\n<p>&#171;\u042d\u0445, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u0433\u043e\u0434\u0430 \u043d\u0435 sealed, <em>\u2013<\/em> \u0432\u0437\u0434\u043e\u0445\u043d\u0443\u043b \u0446\u0430\u0440\u044c&#187;<\/p>\n<p>&#171;\u041d\u0443 \u0442\u044b \u0443\u0436 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0441\u044c, \u043d\u0430\u0434\u0451\u0436\u0430 \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u044c, \u0442\u0435\u0431\u0435 \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u0438 \u0438\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0448\u0442\u0438\u043b\u044c \u043a\u043e\u0434\u0430&#187;<\/p>\n<p>&#171;\u041b\u0430\u0434\u043d\u043e, \u043b\u0430\u0434\u043d\u043e, \u0441 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0441\u044f&#187;<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u041a\u043e\u0449\u0435\u0435 <\/h2>\n<p>&#171;\u0412\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u043a\u0430 \u0442\u0430\u043a\u0430\u044f. \u041e\u0442 \u0446\u0430\u0440\u0441\u0442\u0432\u0430 \u043a\u043e\u0449\u0435\u0435\u0432\u0430 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b \u0437\u0430\u043a\u0430\u0437 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0433\u043e\u043b\u043e\u043a, \u044f\u0438\u0446, \u0443\u0442\u043e\u043a, \u0437\u0430\u0439\u0446\u0435\u0432 \u0438 \u0441\u0443\u043d\u0434\u0443\u043a\u043e\u0432. \u041d\u0430\u0434\u043e \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u0430\u0447\u043a\u0430\u043c\u0438 \u0438 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 &#8212; \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0443\u043d\u0434\u0443\u043a, \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u044f\u0446, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 <em>\u2013<\/em> \u0438\u0433\u043b\u0430. \u041d\u043e \u0435\u0441\u043b\u0438 \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a.&#187;<\/p>\n<pre><code class=\"java\">enum \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e { \u0418\u0433\u043b\u0430, \u042f\u0439\u0446\u043e, \u0423\u0442\u043a\u0430, \u0417\u0430\u044f\u0446, \u0421\u0443\u043d\u0434\u0443\u043a }  List&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e> \u0432\u044b\u0434\u0430\u0442\u044c\u0417\u0430\u043a\u0430\u0437() <\/code><\/pre>\n<p>&#171;\u0422\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442 \u043d\u0435\u0440\u0430\u0434\u0438\u0432\u044b\u043c \u0440\u0430\u0431\u043e\u0442\u043d\u0438\u043a\u0430\u043c \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0437\u0430\u0439\u0446\u0430 \u0432 \u044f\u0439\u0446\u043e&#187;<\/p>\n<pre><code class=\"java\">return Arrays.asList(\u0421\u0443\u043d\u0434\u0443\u043a, \u042f\u0439\u0446\u043e, \u0417\u0430\u044f\u0446);<\/code><\/pre>\n<p>&#171;\u0410 \u0442\u043e \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 <em>\u2013<\/em> \u0434\u0432\u0430 \u0441\u0443\u043d\u0434\u0443\u043a\u0430 \u043f\u043e\u0434\u0441\u0443\u043d\u0443\u0442\u044c. \u0410 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f. \u0410, \u043d\u0443 \u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b. \u0415\u0441\u043b\u0438 \u0437\u0430\u0439\u0446\u044b \u0432\u0434\u0440\u0443\u0433 \u0437\u0430\u043a\u043e\u043d\u0447\u0430\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u0443\u0442\u043e\u043a \u0441\u0440\u0430\u0437\u0443 \u0432 \u0441\u0443\u043d\u0434\u0443\u043a\u0438.&#187;<\/p>\n<p>\u0417\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043a\u0443\u0437\u043d\u0435\u0446. <\/p>\n<p>&#171;\u0422\u0430\u043a, \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u043d\u0430\u0447\u043d\u0451\u043c \u043f\u043e\u0442\u0438\u0445\u043e\u043d\u044c\u043a\u0443 \u043a\u043e\u0432\u0430\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043d\u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u043f\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e. \u0412\u043e\u0442 \u043e\u043d\u0438&#187;<\/p>\n<pre><code class=\"java\">interface \u0420\u0430\u0437\u043c\u0435\u04401 { }  interface \u0420\u0430\u0437\u043c\u0435\u04402 extends \u0420\u0430\u0437\u043c\u0435\u04401 { }  interface \u0420\u0430\u0437\u043c\u0435\u04403 extends \u0420\u0430\u0437\u043c\u0435\u04402 { }  interface \u0420\u0430\u0437\u043c\u0435\u04404 extends \u0420\u0430\u0437\u043c\u0435\u04403 { }  interface \u0420\u0430\u0437\u043c\u0435\u04405 extends \u0420\u0430\u0437\u043c\u0435\u04404 { }<\/code><\/pre>\n<p>&#171;\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0432\u0435\u0434\u0451\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b&#187;<\/p>\n<pre><code class=\"java\">interface \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420> { }    interface \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420> { }<\/code><\/pre>\n<p>&#171;\u0421\u043c\u044b\u0441\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0439 <em>\u2013<\/em> \u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u044b \u043f\u043e\u043c\u0435\u0447\u0430\u0442\u044c. \u0418 \u0442\u043e\u0433\u0434\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0438\u043f <code>\u0420\u0430\u0437\u043c\u0435\u0440&lt;? super \u0420\u0430\u0437\u043c\u0435\u04403><\/code> \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043e\u043f\u0438\u0448\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043e\u0442 <code>\u0420\u0430\u0437\u043c\u0435\u04401<\/code> \u0434\u043e <code>\u0420\u0430\u0437\u043c\u0435\u04403<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0449\u0435\u0435\u0432\u043e \u0431\u0430\u0440\u0430\u0445\u043b\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u043c&#187;<\/p>\n<pre><code class=\"java\">sealed interface \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e { }  final class \u0418\u0433\u043b\u0430 implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04401>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04402> { } final class \u042f\u0439\u0446\u043e implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04402>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04403> { } final class \u0423\u0442\u043a\u0430 implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04403>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04404> { } final class \u0417\u0430\u044f\u0446 implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04404>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04405> { } final class \u0421\u0443\u043d\u0434\u0443\u043a implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04405> { }<\/code><\/pre>\n<p>&#171;\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u044b \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043f\u0430\u0440\u0430\u043c\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c, \u0434\u0430 \u0438 \u0442\u0432\u043e\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u043d\u0438\u043a\u0430\u043c \u0441\u043f\u043e\u0434\u0440\u0443\u0447\u043d\u0435\u0435 \u043e\u0434\u0438\u043d \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0430 \u043d\u0435 \u0432\u0441\u0435\u043c\u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u043e\u043d\u0433\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u0445, \u0433\u0434\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 <em>\u2013<\/em> \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e.&#187;<\/p>\n<pre><code class=\"java\">public &lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430,         \u041f\u0440\u0435\u0434\u043c\u0435\u0442 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>,         \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;? super \u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>         > void \u0431\u043e\u043b\u044c\u0448\u0435(\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442, \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435) {}      public static void main(String[] args) {   \/\/ \u0431\u043e\u043b\u044c\u0448\u0435(new \u0423\u0442\u043a\u0430(), new \u0417\u0430\u044f\u0446()); \/\/ \u043e\u0448\u0438\u0431\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438   \/\/ \u0431\u043e\u043b\u044c\u0448\u0435(new \u0417\u0430\u044f\u0446(), new \u0417\u0430\u044f\u0446()); \/\/ \u043e\u0448\u0438\u0431\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438    \u0431\u043e\u043b\u044c\u0448\u0435(new \u0417\u0430\u044f\u0446(), new \u0423\u0442\u043a\u0430());  \/\/ \u043e\u043a }<\/code><\/pre>\n<p>&#171;\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u0430\u0435\u043c  \u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u043d\u043e \u0442\u0430\u043a\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u043e\u0433 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430.&#187;<\/p>\n<pre><code class=\"java\">class SortedList&lt;BaseType, HeadType extends BaseType> {      private HeadType head;      private SortedList&lt;BaseType, ?> tail;      public final int size;       private SortedList(HeadType head, SortedList&lt;BaseType, ?> tail) {          this.head = head;          this.tail = tail;          this.size = 1 + (tail == null ? 0 : tail.size);      }       public BaseType get(int idx) {          assert idx >= 0 &amp;&amp; idx &lt; size;          return getUnchecked(idx);      }       private BaseType getUnchecked(int idx) {          return idx == 0 ? head : tail.getUnchecked(idx - 1);      }  }<\/code><\/pre>\n<p>&#171;\u0410 \u0447\u0435\u0433\u043e \u044d\u0442\u043e \u0442\u044b \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0446\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f?&#187;<\/p>\n<p>&#171;\u0412\u0430\u0448\u0435 \u0432\u0435\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438 \u043f\u043e\u0434 \u0440\u0443\u043a\u0443, \u0430 \u0442\u043e \u044d\u043a\u0441\u0435\u043f\u0448\u043d\u043e\u043c \u0437\u0430\u0448\u0438\u0431\u0451\u0442. \u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043c\u043e\u0442\u0440\u0438 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442&#187;<\/p>\n<pre><code class=\"java\">public &lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430,          \u041f\u0440\u0435\u0434\u043c\u0435\u0442 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>         >           SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u041f\u0440\u0435\u0434\u043c\u0435\u0442> \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c(\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442) {               return new SortedList&lt;>(\u043f\u0440\u0435\u0434\u043c\u0435\u0442, null);  }  public &lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430,          \u041f\u0440\u0435\u0434\u043c\u0435\u0442 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>,          \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;? super \u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>          >           SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u041f\u0440\u0435\u0434\u043c\u0435\u0442> \u0432\u043d\u0443\u0442\u0440\u044c(             \u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442,              SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435> \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u041f\u043e\u043c\u0435\u043d\u044c\u0448\u0435         ) {                return new SortedList&lt;>(\u043f\u0440\u0435\u0434\u043c\u0435\u0442, \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u041f\u043e\u043c\u0435\u043d\u044c\u0448\u0435);  }  SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, ?> \u0432\u044b\u0434\u0430\u0442\u044c\u0417\u0430\u043a\u0430\u0437() {      var \u0438\u0433\u043b\u0430 = new \u0418\u0433\u043b\u0430();      var \u0437\u0430\u044f\u0446 = new \u0417\u0430\u044f\u0446();      var \u0443\u0442\u043a\u0430 = new \u0423\u0442\u043a\u0430();      var \u0441\u0443\u043d\u0434\u0443\u043a = new \u0421\u0443\u043d\u0434\u0443\u043a();      var \u044f\u0439\u0446\u043e = new \u042f\u0439\u0446\u043e();       return \u0432\u043d\u0443\u0442\u0440\u044c(\u0441\u0443\u043d\u0434\u0443\u043a, \u0432\u043d\u0443\u0442\u0440\u044c(\u0437\u0430\u044f\u0446, \u0432\u043d\u0443\u0442\u0440\u044c(\u0443\u0442\u043a\u0430, \u0432\u043d\u0443\u0442\u0440\u044c(\u044f\u0439\u0446\u043e, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c(\u0438\u0433\u043b\u0430)))));  }<\/code><\/pre>\n<p>&#171;\u0412\u043e\u0442 \u0438 \u0432\u0441\u0451. \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u0430\u043a\u0430\u0437. \u0410 \u0435\u0441\u043b\u0438 \u0447\u0435\u0433\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 <em>\u2013<\/em> \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c&#187;<\/p>\n<p>&#171;\u041b\u0430\u0434\u043d\u043e, \u043a\u0443\u0437\u043d\u0435\u0446, \u0442\u0443\u0442 \u0442\u044b \u0442\u043e\u0436\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0441\u044f. \u0412\u043e\u0442 \u0442\u0435\u0431\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0437\u0430\u0434\u0430\u0447\u0430.&#187;<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u043f\u0435\u0440\u0441\u0442\u043d\u0435<\/h2>\n<p>&#171;\u041a\u0442\u043e-\u0442\u043e \u0441\u0442\u0430\u0449\u0438\u043b \u0443 \u043c\u0435\u043d\u044f \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c. \u0418 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043c\u043e\u0433\u0443 \u043f\u043e\u043d\u044f\u0442\u044c <em>\u2013<\/em> \u043a\u0442\u043e. \u0427\u0442\u043e \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0442\u044f\u0436\u0451\u043b\u044b\u0439, \u0442\u0440\u0430\u043d\u0441\u0443\u0440\u0430\u043d\u043e\u0432\u044b\u0439<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0440 \u0431\u044b\u043b \u043e\u0434\u0438\u043d<\/p>\n<\/li>\n<li>\n<p>\u041b\u0435\u043a\u0430\u0440\u044c \u0438 \u041f\u0438\u0441\u0430\u0440\u044c \u0437\u043d\u0430\u044e\u0442, \u0433\u0434\u0435 \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u043b\u0435\u0436\u0430\u0442\u044c \u0434\u043e\u043b\u0436\u0435\u043d<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u043e\u0442 \u044d\u0442\u0438\u0445 \u043f\u0430\u043b\u0430\u0442 \u0435\u0441\u0442\u044c \u0443 \u041f\u0438\u0441\u0430\u0440\u044f \u0438 \u0443 \u041f\u043e\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u041b\u0435\u043a\u0430\u0440\u044c \u0438 \u041f\u0438\u0441\u0430\u0440\u044c \u0449\u0443\u043f\u043b\u044b\u0435, \u0441\u043b\u0430\u0431\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u044e\u0445 \u0434\u043e\u043b\u0436\u0435\u043d \u041b\u0435\u043a\u0430\u0440\u044e, \u041f\u043e\u043f \u0434\u043e\u043b\u0436\u0435\u043d \u041a\u043d\u044f\u0437\u044e, \u0430 \u041a\u043d\u044f\u0437\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u041f\u0438\u0441\u0430\u0440\u044e<\/p>\n<\/li>\n<li>\n<p>\u041b\u0435\u043a\u0430\u0440\u044c \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 \u041a\u043d\u044f\u0437\u0435\u043c, \u041a\u043e\u043d\u044e\u0445 \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 \u041f\u043e\u043f\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u0425\u043e\u0447\u0443 \u0437\u043d\u0430\u0442\u044c, \u043a\u0442\u043e \u043f\u043e\u0434\u043b\u0435\u0446, \u0438 \u0447\u0442\u043e\u0431\u044b \u0435\u0449\u0451 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 <em>\u2013<\/em> \u0442\u0430\u043a \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u043e\u0442\u0432\u0435\u0440\u0442\u044f\u0442\u0441\u044f.&#187;<\/p>\n<p>&#171;\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u044c-\u0431\u0430\u0442\u044e\u0448\u043a\u0430, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0449\u0435 \u043b\u0438 Prolog \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0432\u0437\u044f\u0442\u044c?&#187;<\/p>\n<p>&#171;\u0422\u044b \u0434\u0435\u043b\u0430\u0439 \u0434\u0430\u0432\u0430\u0439. \u0410 \u043d\u0435 \u043c\u043e\u0436\u0435\u0448\u044c <em>\u2013<\/em> \u0442\u0430\u043a \u043f\u043e\u0448\u0451\u043b \u0432\u043e\u043d \u0441 \u0433\u043b\u0430\u0437 \u043c\u043e\u0438\u0445.&#187;<\/p>\n<p>\u0423\u0441\u043c\u0435\u0445\u043d\u0443\u043b\u0441\u044f \u043a\u0443\u0437\u043d\u0435\u0446, \u0438 \u0434\u0430\u0432\u0430\u0439 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u044f\u0442\u044c.<\/p>\n<p>&#171;\u0422\u0430\u043a, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0440\u0430\u0441\u043a\u0438\u0434\u0430\u0435\u043c. \u041a\u0442\u043e, \u043a\u043e\u043c\u0443, \u043a\u0443\u0434\u0430 \u0438 \u043a\u0430\u043a.&#187;<\/p>\n<pre><code class=\"java\">interface \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c { } interface \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447 { } interface \u0414\u0440\u0443\u0433&lt;X> { } interface \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c { } interface \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;X> { } interface \u0414\u043e\u043b\u0436\u0435\u043d&lt;X> { }  class \u041a\u043e\u043d\u044e\u0445 implements \u0414\u043e\u043b\u0436\u0435\u043d&lt;\u041b\u0435\u043a\u0430\u0440\u044c>, \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c, \u0414\u0440\u0443\u0433&lt;\u041f\u043e\u043f> { } class \u041b\u0435\u043a\u0430\u0440\u044c implements \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c, \u0414\u0440\u0443\u0433&lt;\u041a\u043d\u044f\u0437\u044c>, \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;\u041a\u043e\u043d\u044e\u0445> { } class \u041f\u043e\u043f implements \u0414\u0440\u0443\u0433&lt;\u041a\u043e\u043d\u044e\u0445>, \u0414\u043e\u043b\u0436\u0435\u043d&lt;\u041a\u043d\u044f\u0437\u044c>, \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447, \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c { } class \u041f\u0438\u0441\u0430\u0440\u044c implements \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447, \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c, \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;\u041a\u043d\u044f\u0437\u044c> { } class \u041a\u043d\u044f\u0437\u044c implements \u0414\u0440\u0443\u0433&lt;\u041b\u0435\u043a\u0430\u0440\u044c>, \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c, \u0414\u043e\u043b\u0436\u0435\u043d&lt;\u041f\u0438\u0441\u0430\u0440\u044c>, \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;\u041f\u043e\u043f> { }<\/code><\/pre>\n<p>&#171;\u0422\u0435\u043f\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 <em>\u2013<\/em> \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a\u0430. \u041d\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e, \u0430 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0442\u0438\u043f\u043e\u0432 \u0432 Java \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0432\u0435\u0437\u043b\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0447\u0435\u0448\u044c \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c, \u0430 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u0435\u043b\u0430\u0442\u044c. \u041f\u043e\u043d\u044f\u043b?&#187;<\/p>\n<p>&#171;\u041f\u043e\u043d\u044f\u043b, \u043f\u043e\u043d\u044f\u043b. \u0410 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0435\u0442\u0441\u044f, \u0435\u0436\u0435\u043b\u0438 generic \u0442\u0438\u043f \u0431\u0443\u0434\u0435\u0442? \u041d\u0430\u0440\u0443\u0433\u0430\u0435\u0442 \u0435\u0449\u0451, \u0447\u0442\u043e \u0438\u0437-\u0437\u0430 erasure \u0442\u0438\u043f\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435.&#187;<\/p>\n<p>&#171;\u041d\u0430\u0440\u0443\u0433\u0430\u0435\u0442, \u043a\u043e\u043b\u0438 \u043d\u0435 \u0441\u0445\u0438\u0442\u0440\u0438\u043c. \u0410 \u043c\u044b \u0441\u0445\u0438\u0442\u0440\u0438\u043c. \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0422\u043e\u0442 \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a, \u043a\u0442\u043e \u0438 \u0441\u0438\u043b\u044c\u043d\u044b\u0439, \u0438 \u0437\u043d\u0430\u0435\u0442 \u0433\u0434\u0435 \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c, \u0438 \u043a\u043b\u044e\u0447 \u0438\u043c\u0435\u0435\u0442.&#187;<\/p>\n<pre><code class=\"java\">public &lt;I extends \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c &amp; \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447 &amp; \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c>    void \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(I \u0432\u043e\u0440, Double x) {}<\/code><\/pre>\n<p>&#171;\u0410 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0437\u0430\u0447\u0435\u043c?&#187;<\/p>\n<p>&#171;\u0410 \u0432\u043e\u0442 \u043f\u043e\u0442\u043e\u043c \u0443\u0432\u0438\u0434\u0438\u0448\u044c. \u0417\u0430\u0431\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435\u0445 \u043f\u044f\u0442\u0435\u0440\u044b\u0445, \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#187;<\/p>\n<pre><code class=\"java\">\u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043a\u043d\u044f\u0437\u044c, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043f\u043e\u043f, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043f\u0438\u0441\u0430\u0440\u044c, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043b\u0435\u043a\u0430\u0440\u044c, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043a\u043e\u043d\u044e\u0445, null);<\/code><\/pre>\n<p>&#171;\u0412\u0441\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0432\u0430\u043b\u0438\u043b\u0430\u0441\u044c. \u041d\u043e \u043c\u044b \u0435\u0451 \u043f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0447\u0435\u0441\u0442\u043d\u043e \u0431\u044b\u043b\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e: \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u044b\u043d\u0435\u0441 \u043a\u0442\u043e-\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u044b\u0439, \u0430 \u043f\u0440\u043e \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0443 \u0434\u0440\u0443\u0433\u0430 \u0443\u0437\u043d\u0430\u043b \u0438 \u043a\u043b\u044e\u0447 \u0443 \u043d\u0435\u0433\u043e \u0436\u0435 \u0432\u0437\u044f\u043b?&#187;<\/p>\n<pre><code class=\"java\">public static &lt;         H extends \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447 &amp; \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c,         I extends \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c &amp; \u0414\u0440\u0443\u0433&lt;H>     > void \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(I \u0432\u043e\u0440, Short x) {}<\/code><\/pre>\n<p>&#171;\u0410\u0445 \u0432\u043e\u0442 \u0437\u0430\u0447\u0435\u043c \u0442\u0435\u0431\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, \u044d\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u0438\u0434\u0435\u043b \u0443 \u043d\u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0438 \u043d\u0435 \u0434\u043e\u043d\u0438\u043c\u0430\u043b.&#187;<\/p>\n<p>&#171;\u0410 \u0442\u044b \u0448\u0430\u0440\u0438\u0448\u044c. \u041d\u043e \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f. <\/p>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a \u0441\u0430\u043c \u0441\u0438\u043b\u044c\u043d\u044b\u0439, \u0434\u0440\u0443\u0433 \u0435\u043c\u0443 \u043f\u0440\u043e \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0430 \u043a\u043b\u044e\u0447 \u043e\u043d \u0443 \u0434\u043e\u043b\u0436\u043d\u0438\u043a\u0430 \u0432\u044b\u043a\u043b\u044f\u043d\u0447\u0438\u043b&#187;<\/p>\n<pre><code class=\"java\">public static &lt;     I extends \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c         &amp; \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;? extends \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447>         &amp; \u0414\u0440\u0443\u0433&lt;? extends \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c> > void \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(I \u0432\u043e\u0440, Integer i) {}<\/code><\/pre>\n<p>&#171;\u0410\u0433\u0430, \u0430 \u0432\u043e\u0442 \u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0449\u0430\u044f\u0441\u044f &#8212; <code>\u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043a\u043d\u044f\u0437\u044c, null)<\/code>. \u0417\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u043a\u043d\u044f\u0437\u044c \u0441\u0442\u0430\u0449\u0438\u043b. \u041e\u0442 \u043b\u0435\u043a\u0430\u0440\u044f \u043f\u0440\u043e \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0443\u0437\u043d\u0430\u043b, \u0430 \u0443 \u043f\u043e\u043f\u0430 \u043a\u043b\u044e\u0447 \u0432\u0437\u044f\u043b.&#187;<\/p>\n<p>&#171;\u0412\u043e\u0442 \u044f \u0442\u0430\u043a \u0438 \u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u043e\u043d, \u043f\u043e\u0434\u043b\u0435\u0446, \u0437\u0430 \u0432\u0441\u0435\u043c \u0441\u0442\u043e\u0438\u0442. \u0422\u043e-\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u044e <em>\u2013<\/em> \u0445\u043e\u0434\u0438\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u044b\u0439, \u0430\u0436 \u0441\u0432\u0435\u0442\u0438\u0442\u0441\u044f!&#187;<\/p>\n<h2>\u041d\u0430\u0433\u0440\u0430\u0434\u0430<\/h2>\n<p>&#171;\u041d\u0443 \u0447\u0442\u043e \u0436, \u043a\u0443\u0437\u043d\u0435\u0446, \u0442\u0440\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0442\u044b \u0447\u0435\u0441\u0442\u043d\u043e \u0440\u0435\u0448\u0438\u043b. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u044f \u0442\u0435\u0431\u0435 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044e \u0441 \u0447\u0435\u0441\u0442\u044c\u044e&#187;<\/p>\n<pre><code class=\"java\">public class \u041a\u0443\u0437\u043d\u0435\u0446 implements \u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;\u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844.\u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438> {}<\/code><\/pre>\n<p>&#171;\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e, \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u0442\u0440\u043e\u043d\u0435 \u0443\u0441\u0442\u0443\u043f\u0430\u0439&#187;<\/p>\n<p>&#171;\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0442 \u0432\u0430\u043c \u043c\u0435\u0442\u043e\u0434, \u0432\u044b\u0437\u044b\u0432\u0430\u0439\u0442\u0435&#187;<\/p>\n<pre><code class=\"java\">\u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844 \u0443\u043a\u0430\u04371844 = new \u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844Impl();  \u041a\u0443\u0437\u043d\u0435\u0446 \u043a\u0443\u0437\u043d\u0435\u0446 = new \u041a\u0443\u0437\u043d\u0435\u0446();  \u0443\u043a\u0430\u04371844.set\u0426\u0430\u0440\u044c(\u043a\u0443\u0437\u043d\u0435\u0446);  Exception in thread \"main\" java.lang.RuntimeException: \u041d\u0435 \u043f\u043e \u0441\u0435\u043d\u044c\u043a\u0435 \u0448\u0430\u043f\u043a\u0430  at \u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844Impl.set\u0426\u0430\u0440\u044c(\u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844Impl.java:15)  at \u041d\u0430\u0433\u0440\u0430\u0434\u0430.main(\u041d\u0430\u0433\u0440\u0430\u0434\u0430.java:12)<\/code><\/pre>\n<p>&#171;\u042d\u0442\u043e \u0435\u0449\u0451 \u0447\u0442\u043e, <em>\u2013 <\/em>\u043d\u0430\u0445\u043c\u0443\u0440\u0438\u043b\u0441\u044f \u043a\u0443\u0437\u043d\u0435\u0446&#187;<\/p>\n<p>&#171;\u0410 \u044d\u0442\u043e \u0434\u0435\u0442\u0430\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0440\u043e\u0434\u043d\u043e\u0439. \u042f \u0436 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0441 \u0443\u043c\u0430 \u0441\u043e\u0448\u0451\u043b, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u0443 \u043f\u043e\u043f\u0430\u043b\u043e \u0446\u0430\u0440\u0441\u0442\u0432\u043e \u0441\u0432\u043e\u0451 \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c. \u041d\u0443 \u0438 \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0436\u043a\u043e, \u043f\u0440\u0435\u0434\u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b&#187;<\/p>\n<pre><code class=\"java\">@Override public void set\u0426\u0430\u0440\u044c(\u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;? extends \u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438> \u043d\u043e\u0432\u044b\u0439\u0426\u0430\u0440\u044c) {      if (!((\u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;?>)\u043d\u043e\u0432\u044b\u0439\u0426\u0430\u0440\u044c instanceof \u0426\u0430\u0440\u044c)) {         throw new RuntimeException(\"\u041d\u0435 \u043f\u043e \u0441\u0435\u043d\u044c\u043a\u0435 \u0448\u0430\u043f\u043a\u0430\");     }      \u0446\u0430\u0440\u044c = \u043d\u043e\u0432\u044b\u0439\u0426\u0430\u0440\u044c; }<\/code><\/pre>\n<p>&#171;\u0427\u0442\u043e-\u0442\u043e \u044f \u043d\u0435 \u043f\u043e\u043d\u044f\u043b <em>\u2013<\/em> \u0430 \u043a\u0430\u043a \u0442\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0441 \u0441\u043e\u0431\u043e\u0439 \u0432\u044b\u0437\u043e\u0432\u0435\u0448\u044c? \u0422\u044b \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0435 \u0440\u0435\u0448\u0438\u043b, \u0443 \u0442\u0435\u0431\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0435\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d!&#187;<\/p>\n<pre><code class=\"java\">\u0443\u043a\u0430\u04371844.set\u0426\u0430\u0440\u044c(\u0446\u0430\u0440\u044c);  java: incompatible types:  \u0426\u0430\u0440\u044c cannot be converted to \u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;? extends \u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844.\u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438><\/code><\/pre>\n<p>&#171;\u0412\u043e\u0442 \u0442\u044b \u0441\u043c\u0435\u0448\u043d\u043e\u0439 \u043a\u0443\u0437\u043d\u0435\u0446, <em>\u2013 <\/em>\u0445\u043e\u0445\u043e\u0447\u0435\u0442 \u0446\u0430\u0440\u044c, <em>\u2013 <\/em>\u0430 reflection \u043d\u0430 \u0447\u0442\u043e?&#187;<\/p>\n<pre><code class=\"java\">\u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844.class     .getDeclaredMethod(\"set\u0426\u0430\u0440\u044c\", \u0427\u0435\u043b\u043e\u0432\u0435\u043a.class)     .invoke(\u0443\u043a\u0430\u04371844, \u0446\u0430\u0440\u044c);<\/code><\/pre>\n<p>\u041a\u0443\u0437\u043d\u0435\u0446 \u043a\u043e\u0435-\u043a\u0430\u043a \u0433\u043b\u0430\u0437\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432\u043f\u0443\u0447\u0438\u043b, \u043c\u043e\u0437\u0433 \u0432 \u043a\u0443\u0447\u0443 \u0441\u043e\u0431\u0440\u0430\u043b, \u0438 \u0441\u043a\u0430\u0437\u0430\u043b, \u0433\u043e\u043b\u043e\u0432\u043e\u0439 \u043a\u0430\u0447\u0430\u044f:<\/p>\n<p>&#171;\u041d\u0435\u0445\u043e\u0440\u043e\u0448\u043e \u044d\u0442\u043e, \u0446\u0430\u0440\u044c-\u0431\u0430\u0442\u044e\u0448\u043a\u0430, \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043d\u0435 \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0442\u044c.&#187;<\/p>\n<p>&#171;\u0422\u044b \u043f\u043e\u0443\u0447\u0438 \u043c\u0435\u043d\u044f \u0442\u0443\u0442 \u0435\u0449\u0451, <em>\u2013 <\/em>\u0440\u0430\u0441\u0441\u0435\u0440\u0434\u0438\u043b\u0441\u044f \u0446\u0430\u0440\u044c, <em>\u2013 <\/em>\u0432\u0430\u043b\u0438, \u043f\u043e\u043a\u0430 \u0446\u0435\u043b&#187;<\/p>\n<p>\u041a\u0443\u0437\u043d\u0435\u0446 \u043f\u043b\u0435\u0447\u0430\u043c\u0438 \u043f\u043e\u0436\u0430\u043b \u0434\u0430 \u0438 \u043f\u043e\u0448\u0451\u043b \u043a\u0443\u0434\u0430 \u0433\u043b\u0430\u0437\u0430 \u0433\u043b\u044f\u0434\u044f\u0442. \u0413\u043e\u0432\u043e\u0440\u044f\u0442, \u043d\u0430 \u041a\u0438\u043f\u0440\u0435 \u0435\u0433\u043e \u0432\u0438\u0434\u0435\u043b\u0438, \u0432 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0435 \u043a\u0443\u0451\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u043f\u043e\u0434\u043a\u043e\u0432\u044b, \u043d\u0435 \u0442\u0443\u0436\u0438\u0442. \u0410 \u0446\u0430\u0440\u044c \u0441\u0430\u043c \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0441\u044f \u0432 \u0441\u0432\u043e\u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430\u0445 \u0434\u0430 \u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b \u043d\u0430 exception. \u0425\u043e\u0434\u0438\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0441 \u0444\u0438\u043d\u0433\u0430\u043b\u043e\u043c, \u0441\u043c\u0443\u0440\u043d\u043e\u0439.<\/p>\n<p>\u0412\u043e\u0442 \u0438 \u0441\u043a\u0430\u0437\u043e\u0447\u043a\u0435 \u043a\u043e\u043d\u0435\u0446, \u0430 \u043a\u0442\u043e \u0441\u043b\u0443\u0448\u0430\u043b &#8212; \u043c\u043e\u043b\u043e\u0434\u0435\u0446.<\/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\/articles\/724700\/\"> https:\/\/habr.com\/ru\/articles\/724700\/<\/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>\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0446\u0430\u0440\u0441\u0442\u0432\u0435, \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435 \u0436\u0438\u043b \u0431\u044b\u043b \u0446\u0430\u0440\u044c. \u041a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437 \u043e\u0431\u044a\u044f\u0432\u0438\u043b \u0446\u0430\u0440\u044c \u0432\u0441\u0435\u043c\u0443 \u043d\u0430\u0440\u043e\u0434\u0443 &#8212; &#171;\u041a\u0442\u043e \u0440\u0435\u0448\u0438\u0442 \u0442\u0440\u0438 \u043c\u043e\u0438\u0445 \u0437\u0430\u0434\u0430\u0447\u043a\u0438, \u0442\u043e\u0442 \u0441\u0430\u043c \u0441\u043c\u043e\u0436\u0435\u0442 \u0446\u0430\u0440\u0451\u043c \u0441\u0442\u0430\u0442\u044c&#187;. \u0418 \u0434\u0430\u0436\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043c\u0435\u0442\u043e\u0434\u0430 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b, \u0432\u0441\u0451 \u0447\u0435\u0441\u0442\u044c \u043f\u043e \u0447\u0435\u0441\u0442\u0438.<\/p>\n<pre><code class=\"java\">public interface \u0426\u0430\u0440\u0451\u0432\u0423\u043a\u0430\u04371844\u00a0{    interface \u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438 {}    void set\u0426\u0430\u0440\u044c(\u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;? extends \u0420\u0435\u0448\u0438\u043b\u0412\u0441\u0435\u0417\u0430\u0434\u0430\u0447\u0438> \u043d\u043e\u0432\u044b\u0439\u0426\u0430\u0440\u044c);   \u0427\u0435\u043b\u043e\u0432\u0435\u043a&lt;?> get\u0426\u0430\u0440\u044c(); }<\/code><\/pre>\n<p>\u041f\u0440\u0438\u0448\u0451\u043b \u043a \u0446\u0430\u0440\u044e \u043a\u0443\u0437\u043d\u0435\u0446, \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u0435\u043b\u0430\u0445 \u0434\u043e\u043a\u0430, \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442: &#171;\u0414\u0430\u0432\u0430\u0439 \u0441\u0432\u043e\u0438 \u0437\u0430\u0434\u0430\u0447\u043a\u0438&#187;<\/p>\n<p>\u0426\u0430\u0440\u044c \u0440\u0443\u043a\u0438 \u043f\u043e\u0442\u0438\u0440\u0430\u0435\u0442 \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442: &#171;\u041d\u0443 \u0447\u0442\u043e \u0436, \u0438\u0437\u0432\u043e\u043b\u044c. \u0412\u043e\u0442 \u043c\u043e\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u043a\u0430&#187;<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u0430\u0445<\/h2>\n<p>&#171;\u0425\u043e\u0447\u0443 \u0432 \u0443\u043a\u0430\u0437\u0430\u0445 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0439 \u0441\u0435\u0437\u043e\u043d \u0441\u0431\u043e\u0440\u0430 \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u043e\u0432. \u0421\u043a\u0430\u0436\u0435\u043c, \u0432\u0435\u0441\u043d\u043e\u0439 \u0438 \u043e\u0441\u0435\u043d\u044c\u044e. \u041c\u043e\u0433\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"java\">enum \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 { \u0412\u0415\u0421\u041d\u0410, \u041e\u0421\u0415\u041d\u042c, \u0417\u0418\u041c\u0410, \u041b\u0415\u0422\u041e }  void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430) {      if (!(\u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 == \u041e\u0421\u0415\u041d\u042c || \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 == \u0412\u0415\u0421\u041d\u0410))         throw new RuntimeException(\"\u0417\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e!\"); }<\/code><\/pre>\n<p>\u041d\u043e \u0442\u043e\u0433\u0434\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435. \u0410 \u044f \u0445\u043e\u0447\u0443, \u0447\u0442\u043e\u0431\u044b \u0435\u0449\u0451 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u044b\u043b\u043e \u043f\u043e\u0439\u0442\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u0438 \u0437\u0438\u043c\u043e\u0439, \u0447\u0442\u043e\u0431 \u043f\u0440\u044f\u043c\u043e \u0432 \u0443\u043a\u0430\u0437\u0435 \u0431\u044b\u043b\u043e \u044f\u0441\u043d\u043e &#8212; \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043b\u044c\u0437\u044f&#187;<\/p>\n<p>&#171;\u041d\u0443, <em>\u2013 <\/em>\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u0443\u0437\u043d\u0435\u0446, <em>\u2013<\/em> \u0441\u0434\u0435\u043b\u0430\u0439 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u0434\u0432\u0430 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u0430, \u0432\u043e\u0442 \u0442\u0430\u043a \u043a\u0430\u043a-\u0442\u043e&#187;<\/p>\n<pre><code class=\"java\">sealed interface \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {}  final class \u0417\u0438\u043c\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u0412\u0435\u0441\u043d\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u041b\u0435\u0442\u043e implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u041e\u0441\u0435\u043d\u044c implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {}  void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0435\u0441\u043d\u0430 \u0432\u0435\u0441\u043d\u0430) {} void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u041e\u0441\u0435\u043d\u044c \u043e\u0441\u0435\u043d\u044c) {}<\/code><\/pre>\n<p>&#171;\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0437\u0438\u043c\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0439\u0442\u0438 <em>\u2013<\/em> \u043d\u0435 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f&#187;<\/p>\n<p>&#171;\u0410 \u0435\u0441\u043b\u0438 \u0441\u0435\u0437\u043e\u043d\u044b \u043c\u0435\u043d\u044f\u0442\u044c <em>\u2013<\/em> \u044d\u0442\u043e \u043c\u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u044d\u0442\u0438 \u0443\u0434\u0430\u043b\u044f\u0442\u044c? \u041d\u0435 \u0445\u043e\u0447\u0443. \u0425\u043e\u0447\u0443 \u043e\u0434\u0438\u043d \u043c\u0435\u0442\u043e\u0434!&#187;<\/p>\n<p>&#171;\u0415\u0436\u0435\u043b\u0438 \u043e\u0434\u0438\u043d \u043c\u0435\u0442\u043e\u0434, \u0442\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043c\u0430\u0440\u043a\u0435\u0440\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0437\u0430\u0432\u0435\u0441\u0442\u0438 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u043c \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c&#187;  <\/p>\n<pre><code class=\"java\">interface \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 {}  final class \u0417\u0438\u043c\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u0412\u0435\u0441\u043d\u0430 implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430, \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 {} final class \u041b\u0435\u0442\u043e implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 {} final class \u041e\u0441\u0435\u043d\u044c implements \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430, \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 {}  &lt;\u0412\u0413 extends \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430 &amp; \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438>    void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0413 \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430) {}<\/code><\/pre>\n<p>&#171;\u0423\u0436\u0435 \u043b\u0443\u0447\u0448\u0435, <em>\u2013 <\/em>\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0446\u0430\u0440\u044c. <em>\u2013<\/em> \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u043d\u0430\u0432\u0435\u0448\u0438\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0441\u0435\u0437\u043e\u043d\u0430\u043c. \u041c\u043e\u0436\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0431\u044b\u043b? \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0449\u0435&#187;<\/p>\n<p>&#171;\u0418\u0437\u0432\u043e\u043b\u044c, <em>\u2013 <\/em>\u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043a\u0443\u0437\u043d\u0435\u0446, <em>\u2013 <\/em>\u043c\u043e\u0436\u043d\u043e \u0438 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u0447\u0443\u0442\u043a\u0430 \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0432\u044b\u0439\u0434\u0435\u0442&#187;<\/p>\n<pre><code class=\"java\">static class \u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430&lt;X> {}   interface \u0417\u0438\u043c\u0430 {}  interface \u0412\u0435\u0441\u043d\u0430 {}  interface \u041b\u0435\u0442\u043e {}  interface \u041e\u0441\u0435\u043d\u044c {}  interface \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438 extends \u0417\u0438\u043c\u0430, \u0412\u0435\u0441\u043d\u0430 {}  static void \u0438\u0434\u0442\u0438\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438(\u0412\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430&lt;? super \u041c\u043e\u0436\u043d\u043e\u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0411\u043e\u0440\u043e\u0432\u0438\u043a\u0438> \u0432\u0440\u0435\u043c\u044f\u0413\u043e\u0434\u0430) {}<\/code><\/pre>\n<p>&#171;\u042d\u0445, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u0433\u043e\u0434\u0430 \u043d\u0435 sealed, <em>\u2013<\/em> \u0432\u0437\u0434\u043e\u0445\u043d\u0443\u043b \u0446\u0430\u0440\u044c&#187;<\/p>\n<p>&#171;\u041d\u0443 \u0442\u044b \u0443\u0436 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0441\u044c, \u043d\u0430\u0434\u0451\u0436\u0430 \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u044c, \u0442\u0435\u0431\u0435 \u0431\u043e\u0440\u043e\u0432\u0438\u043a\u0438 \u0438\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0448\u0442\u0438\u043b\u044c \u043a\u043e\u0434\u0430&#187;<\/p>\n<p>&#171;\u041b\u0430\u0434\u043d\u043e, \u043b\u0430\u0434\u043d\u043e, \u0441 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0441\u044f&#187;<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u041a\u043e\u0449\u0435\u0435 <\/h2>\n<p>&#171;\u0412\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u043a\u0430 \u0442\u0430\u043a\u0430\u044f. \u041e\u0442 \u0446\u0430\u0440\u0441\u0442\u0432\u0430 \u043a\u043e\u0449\u0435\u0435\u0432\u0430 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b \u0437\u0430\u043a\u0430\u0437 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0433\u043e\u043b\u043e\u043a, \u044f\u0438\u0446, \u0443\u0442\u043e\u043a, \u0437\u0430\u0439\u0446\u0435\u0432 \u0438 \u0441\u0443\u043d\u0434\u0443\u043a\u043e\u0432. \u041d\u0430\u0434\u043e \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u0430\u0447\u043a\u0430\u043c\u0438 \u0438 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 &#8212; \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0443\u043d\u0434\u0443\u043a, \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u044f\u0446, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 <em>\u2013<\/em> \u0438\u0433\u043b\u0430. \u041d\u043e \u0435\u0441\u043b\u0438 \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a.&#187;<\/p>\n<pre><code class=\"java\">enum \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e { \u0418\u0433\u043b\u0430, \u042f\u0439\u0446\u043e, \u0423\u0442\u043a\u0430, \u0417\u0430\u044f\u0446, \u0421\u0443\u043d\u0434\u0443\u043a }  List&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e> \u0432\u044b\u0434\u0430\u0442\u044c\u0417\u0430\u043a\u0430\u0437() <\/code><\/pre>\n<p>&#171;\u0422\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442 \u043d\u0435\u0440\u0430\u0434\u0438\u0432\u044b\u043c \u0440\u0430\u0431\u043e\u0442\u043d\u0438\u043a\u0430\u043c \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0437\u0430\u0439\u0446\u0430 \u0432 \u044f\u0439\u0446\u043e&#187;<\/p>\n<pre><code class=\"java\">return Arrays.asList(\u0421\u0443\u043d\u0434\u0443\u043a, \u042f\u0439\u0446\u043e, \u0417\u0430\u044f\u0446);<\/code><\/pre>\n<p>&#171;\u0410 \u0442\u043e \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 <em>\u2013<\/em> \u0434\u0432\u0430 \u0441\u0443\u043d\u0434\u0443\u043a\u0430 \u043f\u043e\u0434\u0441\u0443\u043d\u0443\u0442\u044c. \u0410 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f. \u0410, \u043d\u0443 \u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b. \u0415\u0441\u043b\u0438 \u0437\u0430\u0439\u0446\u044b \u0432\u0434\u0440\u0443\u0433 \u0437\u0430\u043a\u043e\u043d\u0447\u0430\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u0443\u0442\u043e\u043a \u0441\u0440\u0430\u0437\u0443 \u0432 \u0441\u0443\u043d\u0434\u0443\u043a\u0438.&#187;<\/p>\n<p>\u0417\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u043a\u0443\u0437\u043d\u0435\u0446. <\/p>\n<p>&#171;\u0422\u0430\u043a, \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u043d\u0430\u0447\u043d\u0451\u043c \u043f\u043e\u0442\u0438\u0445\u043e\u043d\u044c\u043a\u0443 \u043a\u043e\u0432\u0430\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043d\u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u043f\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044e. \u0412\u043e\u0442 \u043e\u043d\u0438&#187;<\/p>\n<pre><code class=\"java\">interface \u0420\u0430\u0437\u043c\u0435\u04401 { }  interface \u0420\u0430\u0437\u043c\u0435\u04402 extends \u0420\u0430\u0437\u043c\u0435\u04401 { }  interface \u0420\u0430\u0437\u043c\u0435\u04403 extends \u0420\u0430\u0437\u043c\u0435\u04402 { }  interface \u0420\u0430\u0437\u043c\u0435\u04404 extends \u0420\u0430\u0437\u043c\u0435\u04403 { }  interface \u0420\u0430\u0437\u043c\u0435\u04405 extends \u0420\u0430\u0437\u043c\u0435\u04404 { }<\/code><\/pre>\n<p>&#171;\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0432\u0435\u0434\u0451\u043c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b&#187;<\/p>\n<pre><code class=\"java\">interface \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420> { }    interface \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420> { }<\/code><\/pre>\n<p>&#171;\u0421\u043c\u044b\u0441\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0439 <em>\u2013<\/em> \u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u044b \u043f\u043e\u043c\u0435\u0447\u0430\u0442\u044c. \u0418 \u0442\u043e\u0433\u0434\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0438\u043f <code>\u0420\u0430\u0437\u043c\u0435\u0440&lt;? super \u0420\u0430\u0437\u043c\u0435\u04403><\/code> \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043e\u043f\u0438\u0448\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043e\u0442 <code>\u0420\u0430\u0437\u043c\u0435\u04401<\/code> \u0434\u043e <code>\u0420\u0430\u0437\u043c\u0435\u04403<\/code>. \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0449\u0435\u0435\u0432\u043e \u0431\u0430\u0440\u0430\u0445\u043b\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u043c&#187;<\/p>\n<pre><code class=\"java\">sealed interface \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e { }  final class \u0418\u0433\u043b\u0430 implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04401>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04402> { } final class \u042f\u0439\u0446\u043e implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04402>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04403> { } final class \u0423\u0442\u043a\u0430 implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04403>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04404> { } final class \u0417\u0430\u044f\u0446 implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04404>, \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;\u0420\u0430\u0437\u043c\u0435\u04405> { } final class \u0421\u0443\u043d\u0434\u0443\u043a implements \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u04405> { }<\/code><\/pre>\n<p>&#171;\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u044b \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043f\u0430\u0440\u0430\u043c\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c, \u0434\u0430 \u0438 \u0442\u0432\u043e\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u043d\u0438\u043a\u0430\u043c \u0441\u043f\u043e\u0434\u0440\u0443\u0447\u043d\u0435\u0435 \u043e\u0434\u0438\u043d \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0430 \u043d\u0435 \u0432\u0441\u0435\u043c\u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u043e\u043d\u0433\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u0445, \u0433\u0434\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 <em>\u2013<\/em> \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e.&#187;<\/p>\n<pre><code class=\"java\">public &lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430,         \u041f\u0440\u0435\u0434\u043c\u0435\u0442 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>,         \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;? super \u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>         > void \u0431\u043e\u043b\u044c\u0448\u0435(\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442, \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435 \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435) {}      public static void main(String[] args) {   \/\/ \u0431\u043e\u043b\u044c\u0448\u0435(new \u0423\u0442\u043a\u0430(), new \u0417\u0430\u044f\u0446()); \/\/ \u043e\u0448\u0438\u0431\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438   \/\/ \u0431\u043e\u043b\u044c\u0448\u0435(new \u0417\u0430\u044f\u0446(), new \u0417\u0430\u044f\u0446()); \/\/ \u043e\u0448\u0438\u0431\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438    \u0431\u043e\u043b\u044c\u0448\u0435(new \u0417\u0430\u044f\u0446(), new \u0423\u0442\u043a\u0430());  \/\/ \u043e\u043a }<\/code><\/pre>\n<p>&#171;\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u0430\u0435\u043c  \u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u043d\u043e \u0442\u0430\u043a\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u043e\u0433 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430.&#187;<\/p>\n<pre><code class=\"java\">class SortedList&lt;BaseType, HeadType extends BaseType> {      private HeadType head;      private SortedList&lt;BaseType, ?> tail;      public final int size;       private SortedList(HeadType head, SortedList&lt;BaseType, ?> tail) {          this.head = head;          this.tail = tail;          this.size = 1 + (tail == null ? 0 : tail.size);      }       public BaseType get(int idx) {          assert idx >= 0 &amp;&amp; idx &lt; size;          return getUnchecked(idx);      }       private BaseType getUnchecked(int idx) {          return idx == 0 ? head : tail.getUnchecked(idx - 1);      }  }<\/code><\/pre>\n<p>&#171;\u0410 \u0447\u0435\u0433\u043e \u044d\u0442\u043e \u0442\u044b \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0446\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f?&#187;<\/p>\n<p>&#171;\u0412\u0430\u0448\u0435 \u0432\u0435\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438 \u043f\u043e\u0434 \u0440\u0443\u043a\u0443, \u0430 \u0442\u043e \u044d\u043a\u0441\u0435\u043f\u0448\u043d\u043e\u043c \u0437\u0430\u0448\u0438\u0431\u0451\u0442. \u0414\u0430\u043b\u044c\u0448\u0435 \u0441\u043c\u043e\u0442\u0440\u0438 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442&#187;<\/p>\n<pre><code class=\"java\">public &lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430,          \u041f\u0440\u0435\u0434\u043c\u0435\u0442 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>         >           SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u041f\u0440\u0435\u0434\u043c\u0435\u0442> \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c(\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442) {               return new SortedList&lt;>(\u043f\u0440\u0435\u0434\u043c\u0435\u0442, null);  }  public &lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430,          \u041f\u0440\u0435\u0434\u043c\u0435\u0442 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u0420\u0430\u0437\u043c\u0435\u0440&lt;\u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>,          \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435 extends \u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e &amp; \u041c\u0435\u043d\u044c\u0448\u0435\u0427\u0435\u043c&lt;? super \u0420\u0430\u0437\u043c\u0435\u0440\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u0430>          >           SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u041f\u0440\u0435\u0434\u043c\u0435\u0442> \u0432\u043d\u0443\u0442\u0440\u044c(             \u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u043f\u0440\u0435\u0434\u043c\u0435\u0442,              SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, \u041f\u0440\u0435\u0434\u043c\u0435\u0442\u041c\u0435\u043d\u044c\u0448\u0435> \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u041f\u043e\u043c\u0435\u043d\u044c\u0448\u0435         ) {                return new SortedList&lt;>(\u043f\u0440\u0435\u0434\u043c\u0435\u0442, \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u041f\u043e\u043c\u0435\u043d\u044c\u0448\u0435);  }  SortedList&lt;\u041a\u043e\u0449\u0435\u0435\u0432\u043e\u0411\u0430\u0440\u0430\u0445\u043b\u043e, ?> \u0432\u044b\u0434\u0430\u0442\u044c\u0417\u0430\u043a\u0430\u0437() {      var \u0438\u0433\u043b\u0430 = new \u0418\u0433\u043b\u0430();      var \u0437\u0430\u044f\u0446 = new \u0417\u0430\u044f\u0446();      var \u0443\u0442\u043a\u0430 = new \u0423\u0442\u043a\u0430();      var \u0441\u0443\u043d\u0434\u0443\u043a = new \u0421\u0443\u043d\u0434\u0443\u043a();      var \u044f\u0439\u0446\u043e = new \u042f\u0439\u0446\u043e();       return \u0432\u043d\u0443\u0442\u0440\u044c(\u0441\u0443\u043d\u0434\u0443\u043a, \u0432\u043d\u0443\u0442\u0440\u044c(\u0437\u0430\u044f\u0446, \u0432\u043d\u0443\u0442\u0440\u044c(\u0443\u0442\u043a\u0430, \u0432\u043d\u0443\u0442\u0440\u044c(\u044f\u0439\u0446\u043e, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c(\u0438\u0433\u043b\u0430)))));  }<\/code><\/pre>\n<p>&#171;\u0412\u043e\u0442 \u0438 \u0432\u0441\u0451. \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u0430\u043a\u0430\u0437. \u0410 \u0435\u0441\u043b\u0438 \u0447\u0435\u0433\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 <em>\u2013<\/em> \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c&#187;<\/p>\n<p>&#171;\u041b\u0430\u0434\u043d\u043e, \u043a\u0443\u0437\u043d\u0435\u0446, \u0442\u0443\u0442 \u0442\u044b \u0442\u043e\u0436\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0441\u044f. \u0412\u043e\u0442 \u0442\u0435\u0431\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0437\u0430\u0434\u0430\u0447\u0430.&#187;<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u043f\u0435\u0440\u0441\u0442\u043d\u0435<\/h2>\n<p>&#171;\u041a\u0442\u043e-\u0442\u043e \u0441\u0442\u0430\u0449\u0438\u043b \u0443 \u043c\u0435\u043d\u044f \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c. \u0418 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043c\u043e\u0433\u0443 \u043f\u043e\u043d\u044f\u0442\u044c <em>\u2013<\/em> \u043a\u0442\u043e. \u0427\u0442\u043e \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0442\u044f\u0436\u0451\u043b\u044b\u0439, \u0442\u0440\u0430\u043d\u0441\u0443\u0440\u0430\u043d\u043e\u0432\u044b\u0439<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0440 \u0431\u044b\u043b \u043e\u0434\u0438\u043d<\/p>\n<\/li>\n<li>\n<p>\u041b\u0435\u043a\u0430\u0440\u044c \u0438 \u041f\u0438\u0441\u0430\u0440\u044c \u0437\u043d\u0430\u044e\u0442, \u0433\u0434\u0435 \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u043b\u0435\u0436\u0430\u0442\u044c \u0434\u043e\u043b\u0436\u0435\u043d<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u043e\u0442 \u044d\u0442\u0438\u0445 \u043f\u0430\u043b\u0430\u0442 \u0435\u0441\u0442\u044c \u0443 \u041f\u0438\u0441\u0430\u0440\u044f \u0438 \u0443 \u041f\u043e\u043f\u0430<\/p>\n<\/li>\n<li>\n<p>\u041b\u0435\u043a\u0430\u0440\u044c \u0438 \u041f\u0438\u0441\u0430\u0440\u044c \u0449\u0443\u043f\u043b\u044b\u0435, \u0441\u043b\u0430\u0431\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u044e\u0445 \u0434\u043e\u043b\u0436\u0435\u043d \u041b\u0435\u043a\u0430\u0440\u044e, \u041f\u043e\u043f \u0434\u043e\u043b\u0436\u0435\u043d \u041a\u043d\u044f\u0437\u044e, \u0430 \u041a\u043d\u044f\u0437\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u041f\u0438\u0441\u0430\u0440\u044e<\/p>\n<\/li>\n<li>\n<p>\u041b\u0435\u043a\u0430\u0440\u044c \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 \u041a\u043d\u044f\u0437\u0435\u043c, \u041a\u043e\u043d\u044e\u0445 \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 \u041f\u043e\u043f\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u0425\u043e\u0447\u0443 \u0437\u043d\u0430\u0442\u044c, \u043a\u0442\u043e \u043f\u043e\u0434\u043b\u0435\u0446, \u0438 \u0447\u0442\u043e\u0431\u044b \u0435\u0449\u0451 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 <em>\u2013<\/em> \u0442\u0430\u043a \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u043e\u0442\u0432\u0435\u0440\u0442\u044f\u0442\u0441\u044f.&#187;<\/p>\n<p>&#171;\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u044c-\u0431\u0430\u0442\u044e\u0448\u043a\u0430, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0449\u0435 \u043b\u0438 Prolog \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0432\u0437\u044f\u0442\u044c?&#187;<\/p>\n<p>&#171;\u0422\u044b \u0434\u0435\u043b\u0430\u0439 \u0434\u0430\u0432\u0430\u0439. \u0410 \u043d\u0435 \u043c\u043e\u0436\u0435\u0448\u044c <em>\u2013<\/em> \u0442\u0430\u043a \u043f\u043e\u0448\u0451\u043b \u0432\u043e\u043d \u0441 \u0433\u043b\u0430\u0437 \u043c\u043e\u0438\u0445.&#187;<\/p>\n<p>\u0423\u0441\u043c\u0435\u0445\u043d\u0443\u043b\u0441\u044f \u043a\u0443\u0437\u043d\u0435\u0446, \u0438 \u0434\u0430\u0432\u0430\u0439 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u044f\u0442\u044c.<\/p>\n<p>&#171;\u0422\u0430\u043a, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0440\u0430\u0441\u043a\u0438\u0434\u0430\u0435\u043c. \u041a\u0442\u043e, \u043a\u043e\u043c\u0443, \u043a\u0443\u0434\u0430 \u0438 \u043a\u0430\u043a.&#187;<\/p>\n<pre><code class=\"java\">interface \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c { } interface \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447 { } interface \u0414\u0440\u0443\u0433&lt;X> { } interface \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c { } interface \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;X> { } interface \u0414\u043e\u043b\u0436\u0435\u043d&lt;X> { }  class \u041a\u043e\u043d\u044e\u0445 implements \u0414\u043e\u043b\u0436\u0435\u043d&lt;\u041b\u0435\u043a\u0430\u0440\u044c>, \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c, \u0414\u0440\u0443\u0433&lt;\u041f\u043e\u043f> { } class \u041b\u0435\u043a\u0430\u0440\u044c implements \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c, \u0414\u0440\u0443\u0433&lt;\u041a\u043d\u044f\u0437\u044c>, \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;\u041a\u043e\u043d\u044e\u0445> { } class \u041f\u043e\u043f implements \u0414\u0440\u0443\u0433&lt;\u041a\u043e\u043d\u044e\u0445>, \u0414\u043e\u043b\u0436\u0435\u043d&lt;\u041a\u043d\u044f\u0437\u044c>, \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447, \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c { } class \u041f\u0438\u0441\u0430\u0440\u044c implements \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447, \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c, \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;\u041a\u043d\u044f\u0437\u044c> { } class \u041a\u043d\u044f\u0437\u044c implements \u0414\u0440\u0443\u0433&lt;\u041b\u0435\u043a\u0430\u0440\u044c>, \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c, \u0414\u043e\u043b\u0436\u0435\u043d&lt;\u041f\u0438\u0441\u0430\u0440\u044c>, \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;\u041f\u043e\u043f> { }<\/code><\/pre>\n<p>&#171;\u0422\u0435\u043f\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 <em>\u2013<\/em> \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a\u0430. \u041d\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e, \u0430 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0442\u0438\u043f\u043e\u0432 \u0432 Java \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0432\u0435\u0437\u043b\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0447\u0435\u0448\u044c \u043d\u0435 \u0445\u043e\u0447\u0435\u0448\u044c, \u0430 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u0435\u043b\u0430\u0442\u044c. \u041f\u043e\u043d\u044f\u043b?&#187;<\/p>\n<p>&#171;\u041f\u043e\u043d\u044f\u043b, \u043f\u043e\u043d\u044f\u043b. \u0410 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0435\u0442\u0441\u044f, \u0435\u0436\u0435\u043b\u0438 generic \u0442\u0438\u043f \u0431\u0443\u0434\u0435\u0442? \u041d\u0430\u0440\u0443\u0433\u0430\u0435\u0442 \u0435\u0449\u0451, \u0447\u0442\u043e \u0438\u0437-\u0437\u0430 erasure \u0442\u0438\u043f\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435.&#187;<\/p>\n<p>&#171;\u041d\u0430\u0440\u0443\u0433\u0430\u0435\u0442, \u043a\u043e\u043b\u0438 \u043d\u0435 \u0441\u0445\u0438\u0442\u0440\u0438\u043c. \u0410 \u043c\u044b \u0441\u0445\u0438\u0442\u0440\u0438\u043c. \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0422\u043e\u0442 \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a, \u043a\u0442\u043e \u0438 \u0441\u0438\u043b\u044c\u043d\u044b\u0439, \u0438 \u0437\u043d\u0430\u0435\u0442 \u0433\u0434\u0435 \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c, \u0438 \u043a\u043b\u044e\u0447 \u0438\u043c\u0435\u0435\u0442.&#187;<\/p>\n<pre><code class=\"java\">public &lt;I extends \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c &amp; \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447 &amp; \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c>    void \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(I \u0432\u043e\u0440, Double x) {}<\/code><\/pre>\n<p>&#171;\u0410 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0437\u0430\u0447\u0435\u043c?&#187;<\/p>\n<p>&#171;\u0410 \u0432\u043e\u0442 \u043f\u043e\u0442\u043e\u043c \u0443\u0432\u0438\u0434\u0438\u0448\u044c. \u0417\u0430\u0431\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435\u0445 \u043f\u044f\u0442\u0435\u0440\u044b\u0445, \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c&#187;<\/p>\n<pre><code class=\"java\">\u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043a\u043d\u044f\u0437\u044c, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043f\u043e\u043f, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043f\u0438\u0441\u0430\u0440\u044c, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043b\u0435\u043a\u0430\u0440\u044c, null);  \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043a\u043e\u043d\u044e\u0445, null);<\/code><\/pre>\n<p>&#171;\u0412\u0441\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0432\u0430\u043b\u0438\u043b\u0430\u0441\u044c. \u041d\u043e \u043c\u044b \u0435\u0451 \u043f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0447\u0435\u0441\u0442\u043d\u043e \u0431\u044b\u043b\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e: \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432\u044b\u043d\u0435\u0441 \u043a\u0442\u043e-\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u044b\u0439, \u0430 \u043f\u0440\u043e \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0443 \u0434\u0440\u0443\u0433\u0430 \u0443\u0437\u043d\u0430\u043b \u0438 \u043a\u043b\u044e\u0447 \u0443 \u043d\u0435\u0433\u043e \u0436\u0435 \u0432\u0437\u044f\u043b?&#187;<\/p>\n<pre><code class=\"java\">public static &lt;         H extends \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447 &amp; \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c,         I extends \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c &amp; \u0414\u0440\u0443\u0433&lt;H>     > void \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(I \u0432\u043e\u0440, Short x) {}<\/code><\/pre>\n<p>&#171;\u0410\u0445 \u0432\u043e\u0442 \u0437\u0430\u0447\u0435\u043c \u0442\u0435\u0431\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, \u044d\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u0438\u0434\u0435\u043b \u0443 \u043d\u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0438 \u043d\u0435 \u0434\u043e\u043d\u0438\u043c\u0430\u043b.&#187;<\/p>\n<p>&#171;\u0410 \u0442\u044b \u0448\u0430\u0440\u0438\u0448\u044c. \u041d\u043e \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f. <\/p>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a \u0441\u0430\u043c \u0441\u0438\u043b\u044c\u043d\u044b\u0439, \u0434\u0440\u0443\u0433 \u0435\u043c\u0443 \u043f\u0440\u043e \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u0430 \u043a\u043b\u044e\u0447 \u043e\u043d \u0443 \u0434\u043e\u043b\u0436\u043d\u0438\u043a\u0430 \u0432\u044b\u043a\u043b\u044f\u043d\u0447\u0438\u043b&#187;<\/p>\n<pre><code class=\"java\">public static &lt;     I extends \u041c\u043e\u0436\u0435\u0442\u041f\u043e\u0434\u043d\u044f\u0442\u044c\u0422\u044f\u0436\u0435\u0441\u0442\u044c         &amp; \u0414\u0430\u043b\u0412\u0437\u0430\u0439\u043c\u044b&lt;? extends \u0418\u043c\u0435\u0435\u0442\u041a\u043b\u044e\u0447>         &amp; \u0414\u0440\u0443\u0433&lt;? extends \u0417\u043d\u0430\u0435\u0442\u0413\u0434\u0435\u041f\u0435\u0440\u0441\u0442\u0435\u043d\u044c> > void \u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(I \u0432\u043e\u0440, Integer i) {}<\/code><\/pre>\n<p>&#171;\u0410\u0433\u0430, \u0430 \u0432\u043e\u0442 \u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0449\u0430\u044f\u0441\u044f &#8212; <code>\u043f\u0440\u0435\u0441\u0442\u0443\u043f\u043d\u0438\u043a(\u043a\u043d\u044f\u0437\u044c, null)<\/code>. \u0417\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0441\u0442\u0435\u043d\u044c \u043a\u043d\u044f\u0437\u044c \u0441\u0442\u0430\u0449\u0438\u043b. \u041e\u0442 \u043b\u0435\u043a\u0430\u0440\u044f <\/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-388663","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/388663","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=388663"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/388663\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=388663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=388663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=388663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}