Выполнил команды SQL ниже, и вопрос, кажется, решен.
USE database_name
GO
EXEC sp_changedbowner 'sa'
ALTER DATABASE database_name SET TRUSTWORTHY ON
Синтаксис {1, 2, 3}
можно использовать только в очень ограниченных ситуациях, и это не одна из них. Попробуйте следующее:
int array[] = funkyBoolean ? new int[]{1,2,3} : new int[]{4,5,6};
Кстати, хороший стиль Java - написать объявление как:
int[] array = ...
РЕДАКТИРОВАТЬ: Для записи, причина того, что {1, 2, 3}
настолько ограничена, заключается в том, что его тип неоднозначен. Теоретически это может быть массив целых чисел, длинных чисел, чисел с плавающей точкой и т. Д. Кроме того, грамматика Java, как определено JLS, запрещает это, так что это так.
boolean funkyBoolean = true;
int[] array = funkyBoolean ? new int[]{1,2,3} : new int[]{4,5,6};
Может быть указан инициализатор массива в декларации или как часть выражение создания массива ( §15.10 ), создание массива и предоставление некоторых начальных значений
Это то, что Java Spec говорит (10.6). Таким образом, «короткая» версия (с выражением создания) разрешена только в объявлениях ( int [] a = {1,2,3};
), во всех остальных случаях вам понадобится новый int [] {1,2,3}
, если вы хотите использовать инициализатор.