Выражение
String[] str = {}
инициализирует массив нулевой длинны. Естественно, добавить что-либо в него вы не сможете. Чтобы иметь возможно добавлять элементы в массив, надо создать массив требуемой длины:
String[] str = new String[8];
str[0] = "test1";