[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-core-mozhno-li-ispolzovat-stroki-v-konstruktsii-switch":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":18,"progress":19,"seo":20},70,"mozhno-li-ispolzovat-stroki-v-konstruktsii-switch",2,"java-core","Java Core","☕","Можно ли использовать строки в конструкции `switch`?","Да, начиная с Java 7 в операторе `switch` можно использовать строки, ранние версии Java не поддерживают этого. При этом:\n\n+ участвующие строки чувствительны к регистру;\n+ используется метод `equals()` для сравнения полученного значения со значениями `case`, поэтому во избежание `NullPointerException` стоит предусмотреть проверку на `null`.\n+ согласно документации, Java 7 для строк в `switch`, компилятор Java формирует более эффективный байткод для строк в конструкции `switch`, чем для сцепленных условий `if`-`else`.","","junior",[15,16,17],"core","control-flow","string",[],null,{"title":21,"description":22,"ogTitle":21,"ogDescription":23,"keywords":24,"schemaAnswer":32,"featuredSnippetReady":33},"Строки в switch в Java — Gymterview","Можно ли использовать строки в конструкции switch в Java: поддержка с Java 7, чувствительность к регистру, сравнение через equals() и NullPointerException.","С Java 7 строки можно использовать в switch. Сравнение выполняется через equals(), строки чувствительны к регистру.",[25,26,27,28,29,30,31],"switch","String","Java 7","строки","управляющие конструкции","equals","NullPointerException","Да, начиная с Java 7 в операторе switch можно использовать строки. Строки чувствительны к регистру, сравнение выполняется через equals(), поэтому нужно предусмотреть проверку на null во избежание NullPointerException. Компилятор генерирует более эффективный байткод для строк в switch, чем для цепочки if-else.",true]