Sapete trovarmi l'errore in questo codice?io ho provato a trasformare la stringa in output in array di caratteri ......ma in input mi da false,false,false....quando in realtà dovrebbe darmi false,true,true...grazie in anticipo

codice:
public class Main {

    public static boolean palindroma(String g) {
        boolean verità = false;
         char g1[]=new char [g.length()];
        for (int i=0;i<g.length();i++)
            g1[i]=g.charAt(i);
        for (int i = 1; i < g1.length; i++) {
            if (g1[0]==g1.length&&g1[i] == g1[g1.length-1 - i]) {
                verità = true;
            } else {
                verità = false;
            }
        }
        return verità;

    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String x="ciao";
        String y="anna";
        String z="onorarono";
        System.out.println(palindroma(x));
        System.out.println(palindroma(y));
        System.out.println(palindroma(z));
    }
}