{"@context":"http://schema.org","@type":"Question","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor","text":"Что произойдет в результате компиляции и выполнения следующего кода?\n\u003cpre\u003e\u003ccode class\u003d\"java\"\u003e\nimport java.util.*;\npublic class Main {\n    public static void main(String[] args) {\n        try {\n            ArrayList\u0026lt;Integer\u0026gt; ar \u003d new ArrayList\u0026lt;Integer\u0026gt;();\n            List temp \u003d ar; //1\n            temp.add(new java.util.Date()); //2\n            temp.add(new Float(1.66));\n            Iterator it \u003d ar.iterator();\n            while (it.hasNext())\n                System.out.println(it.next());\n            System.out.println(ar.get(0));\n        } catch (Exception e) {\n            System.out.println(e.getClass());\n        }\n    }\n}\n\u003c/code\u003e\u003c/pre\u003e","headline":"Что произойдет в результате компиляции и выполнения следующего кода?\n\u003cpre\u003e\u003ccode class\u003d\"java\"\u003e\nimport java.util","learningResourceType":["programming test","programming course","programming question"],"isPartOf":{"@type":"Course","@id":"https://codegalaxy.io/courses/java-ru","url":"https://codegalaxy.io/courses/java-ru","name":"Java Quiz","description":"Java - объектно-ориентированный кросс-платформенный язык программирования, предназначенный для удобства чтения и интероперабельности. Java обычно читается как легкая и простая версия языка Си++. Тем не менее, Java может использоваться как полная версия для создания приложений, которые могут работать на всех платформах, поддерживающих Java, без необходимости перекомпиляции. В 2020 году Java является самым популярным языком программирования, с которым работают более 9 миллионов разработчиков. \u003cbr\u003e\nЭтот обучающий курс полностью посвящен \u003cstrong\u003eJava языку\u003c/strong\u003e, где вы можете проверить свои знания и ответить на \u003cstrong\u003e вопросы интервью по Java\u003c/strong\u003e. Вы ответите на теоретические и практические вопросы, которые проверяют ваши навыки на понимание \u003cstrong\u003e Java-кода\u003c/strong\u003e и поиска ошибок.\n\u003cbr\u003e\nВы можете вернуться к этому java курсу когда захотите, так как он постоянно обновляется и добавляются новые вопросы и задачки!\n\nПереведено с помощью www.DeepL.com/Translator (бесплатная версия)","provider":{"@type":"Organization","@id":"https://codegalaxy.io","name":"CodeGalaxy","logo":{"@type":"ImageObject","url":"https://codegalaxy.io/app/assets/images/g_code.png","height":"513","width":"513"},"description":"Project aimed to provide new ways in learning programming languages and preparing for the interview."},"image":{"@type":"ImageObject","url":"https://codegalaxy.io/app/assets/images/fb/16x9/share-java-ru.png","height":"630","width":"1200"}},"image":{"@type":"ImageObject","url":"https://codegalaxy.io/app/assets/images/fb/16x9/share-java-ru.png","height":"630","width":"1200"},"answerCount":6,"potentialAction":[{"@type":"AssessAction","object":{"@type":"Question","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor"}},{"@type":"ChooseAction","actionOption":[{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20188","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20188","text":"Ошибка компиляции в строке 1 ","dateCreated":"2020-02-06"},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20189","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20189","text":"Ошибка компиляции в строке 2 ","dateCreated":"2020-02-06"},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20190","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20190","text":"Успешное выполнение программы","dateCreated":"2020-02-06"},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20191","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20191","text":"class java.lang.ClassCastException","dateCreated":"2020-02-06"},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20192","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20192","text":"Ошибка времени выполнения","dateCreated":"2020-02-06"}],"object":{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20190","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20190","text":"Успешное выполнение программы","dateCreated":"2020-02-06"}}],"audience":{"@type":"EducationalAudience","audienceType":["developers","programmers"],"educationalRole":["Specialist","Student"],"alternateName":"Java Programmers","name":"Java Developers","sameAs":["https://en.wikipedia.org/wiki/Programmer","https://en.wikipedia.org/wiki/Software_developer","https://en.wikipedia.org/wiki/Software_engineer","https://en.wikipedia.org/wiki/Web_developer"]},"dateCreated":"2020-02-06","acceptedAnswer":[{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#js-expander-trigger","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#js-expander-trigger","text":"\u003cp\u003eКоллекция \u003ctt\u003etemp\u003c/tt\u003e не является типизированной, поэтому метод \u003ctt\u003etemp.add()\u003c/tt\u003e успешно выполняется даже для объектов \"неправильного\" типа.\u003c/p\u003e\n\u003cp\u003eИсключение возникнет, если при обращении к элементам коллекции \u003ctt\u003ear\u003c/tt\u003e явно или неявно будет выполняться преобразование к типу Integer. В данном примере такого нет, поэтому обход коллекции также выполнится успешно\u003c/p\u003e\n\u003cp\u003eЧтобы предотвратить добавление в коллекцию \"неправильных\" элементов, можно использовать представление с проверкой, например, такое:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class\u003d\"java\"\u003eList temp \u003d Collections.checkedList(ar, Integer.class);\u003c/code\u003e\u003c/pre\u003e","about":{"@type":"Question","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor"},"upvoteCount":1,"dateCreated":"2020-02-06"},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20190","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20190","text":"Успешное выполнение программы","dateCreated":"2020-02-06","upvoteCount":1}],"suggestedAnswer":[{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20188","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20188","text":"Ошибка компиляции в строке 1 ","dateCreated":"2020-02-06","upvoteCount":0},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20189","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20189","text":"Ошибка компиляции в строке 2 ","dateCreated":"2020-02-06","upvoteCount":0},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20191","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20191","text":"class java.lang.ClassCastException","dateCreated":"2020-02-06","upvoteCount":0},{"@type":"Answer","@id":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20192","url":"https://codegalaxy.io/courses/java-ru/questions/2d63d919847b482381ae1ab11765fcdc/chto-proizojdet-v-rezultate-kompilyatsii-i-vypolneniya-sleduyushchego-koda-impor#20192","text":"Ошибка времени выполнения","dateCreated":"2020-02-06","upvoteCount":0}]}