I see no problems there. You can definately declare an array as final and static both.
If you are having a problem somewhere in a program, I guess it might be because you are either declaring the array inside a static context, or may be you are trying to change the reference of this array .
I am writing a code here :
This will give you a compilation error because you are trying to change the reference value of the array that has been declared as "final". This is illegal.
however, in the following code :
there is no problem here. This code compiles and prints the output :
so, the moral of the story is : "when you declare an array as final, you can change the elements in the array, however you cannot change the reference of this array."