Split

Gostaria de saber porque o metodo split não separa com o “^”

String s1 = "kkkk^dddd^de^ooooo";
		
String []s2 = s1.split("^");
		
for (int i = 0; i < s2.length; i++) {
       System.out.println(" : "+ s2[i]);
			
}

saida
: kkkk^dddd^de^ooooo - somente o com o circunflexo não funciona alguem sabe o porque.

Porque ^ tem um significado especial em expressões regulares.

[code]String s1 = "kkkk^dddd^de^ooooo";

String []s2 = s1.split("\^"); [/code]