Если вы используете библиотеку кнопок с плавающим действием из https://github.com/Clans/FloatingActionButton , используйте эту
fab.setColorNormal(getResources().getColor(R.color.fab_color1));
JVM поддерживает goto на уровне байт-кода. Если вы используете свой собственный язык, вам следует использовать такие библиотеки, как BCEL или ASM , а не создавать файл .java.
Байт-код JVM содержит инструкцию goto (например, см. Документацию BCEL ).
Не забывайте, что сама Java поддерживает концепцию перехода к меткам с использованием :
break {labelname}
или
continue {labelname}
См. Этот технический совет JDC для получения дополнительной информации. Если ваш язык скомпилирован в байт-код JVM, возможно, вы сможете его использовать.
По определению ни один компилятор Java не допускает goto. Компиляторы Java должны реализовывать JLS , а JLS не допускает gotos. Однако также очевидно, что можно скомпилировать язык с gotos для JVM. AMPC - это компилятор C-to-JVM, который утверждает, что поддерживает C89.
Также обратите внимание, что в байт-коде Java есть инструкция перехода, хотя она, очевидно, основана на инструкциях, а не на строках.
Практически все, что можно сделать с помощью goto, можно сделать с помощью цикла. goto - действительно избыточный и обычно дискредитируемый способ программирования. IMHO.
Если вы хотите перейти назад
LABEL: do {
// code before goto
// goto LABEL
continue LABEL;
// code after goto
break;
} while(true);
Если вы хотите перейти вперед
LABEL: do {
// code before goto
// goto LABEL
continue LABEL;
// code after goto
break;
} while(false);
// Label is effectively here
// code after LABEL.
Вы можете написать свой генератор кода для целевого Jasmin . Вы можете использовать goto в Jasmin сколько угодно. : -)
Ключевое слово goto
зарезервировано, но не используется в языке программирования Java. (Из Раздел 3.9 из Спецификация языка Java .)
Таким образом, по крайней мере, в языке программирования Java нет возможности разрешить использование goto
.
Однако, как уже отмечалось, код операции goto
в виртуальной машине Java является функциональным и используется, когда компилятор Java создает байт-код из источника.
Глава 7: Компиляция для виртуальной машины Java из Спецификация виртуальной машины Java может представлять интерес при реализации языка JVM.
Никогда не используйте goto, это ЗЛО; -)
А если серьезно, может быть, вам стоит взглянуть на знаменитую статью Э. Дейкстры: http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html
Apache Thrift можно использовать для генерации исходного кода на разных языках программирования из одного источника. http://incubator.apache.org/thrift/
Java не позволяет использовать ключевое слово goto
. Однако он позволяет использовать метки и использовать break
или continue
с меткой вместо goto
. Фактически, Java - это не язык без оператора goto, а язык с неудобной его реализацией.