Предполагая, что вы не можете сделать массив String [], а не Object [] ...
Если вы пройдете один раз, но затем будете использовать каждый элемент много раз, я напишу что-то вроде ...
for (int x=0; x<whatever.length; ++x)
{
String whatever1=(String)whatever[x];
Затем используйте любую1 в теле цикла. Это означает, что вы выполняете поиск массива и приведение только один раз, а не повторно.
(То же самое применимо, если вы на самом деле не просматриваете цикл, а используете другие средства для поиска нужной записи, но по-прежнему используете каждую запись, как правило, только один раз.)
Если вам приходится многократно обрабатывать каждый элемент массива с использованием других элементов, может быть полезно скопировать Object [] в String [], например:
String[] sWhatever=new String[oWhatever.length];
for (int x=oWhatever.length-1; x>=0; --x)
sWhatever[x]=(String)oWhatever[x];
(Можете ли вы написать «System.arraycopy (owh независимо, 0, sWh независимо, 0, oWhwhat.length)»? Я думаю, это будет работать, хотя я не пробовал.)
Будет ли копирование длиться дольше, чем приведение, будет зависеть от того, как часто вы будете разыгрывать каждый элемент. Я предполагаю, что это редко стоило бы, но это возможно.