Переключение оператора со строкой в ​​качестве аргумента в Android - PullRequest
6 голосов
/ 14 февраля 2012

Я хотел бы использовать оператор switch, как в Java 1.7, который также позволяет switch(someString). Однако, если я изменю java-компилятор на 1.7, проект прекратится, и мне придется либо вернуться к 1.5, либо использовать android tools-> fix project.

Есть ли способ использовать переключатель со строками в разработке Android?

Ответы [ 3 ]

5 голосов
/ 14 февраля 2012

РЕДАКТИРОВАТЬ

Лично я не пробовал, но, согласно странице Системные требования Android , он не поддерживается.Тем не менее, это не означает, что это не будет работать, просто маловероятно, что вы получите большую / любую помощь по этому вопросу от Google / Android.

JDK 5 или JDK 6 (только JREне достаточно)

На потенциально положительной ноте (найденной с помощью @Emil H и его комментария) я нашел в Интернете немного информации:

От Dalvik в Википедии :

Программы обычно пишутся на диалекте Java и компилируются в байт-код.Затем они преобразуются из совместимых с виртуальной машиной Java файлов .class в совместимые с Dalvik файлы .dex (исполняемые Dalvik) ...

Если байт-код не изменяется с версии 6 на 7 (исключаядобавленный invokedynamic, упомянутый @David Schwartz, который switch операторы не должны использовать.), тогда он должен работать ...

1 голос
/ 14 февраля 2012

Вы должны быть в состоянии использовать JDK7 с Android.Проверьте этот ответ на связанный вопрос:

https://stackoverflow.com/a/7481063/355499

РЕДАКТИРОВАТЬ:

Пробовал локально, и все работает нормально с JDK7 (это то, чтоЯ использую при разработке).Тем не менее, я не могу найти способ изменить уровень соответствия с 1,6 до 1,7 в моем проекте Android.Если вы действительно хотите это сделать, я думаю, вам придется прибегнуть к созданию своего проекта другими способами, чем использование Eclipse.Например, используя муравей сценарий или подобное.Может быть, немного больше работы, чем стоит.

0 голосов
/ 19 июня 2013

Пока невозможно: хотя в компиляторе Java 1.7 был введен оператор switch со строкой, к сожалению, для Android требуется версия 1.6 или 1.5. Поэтому мы должны подождать.

...