public static String[] myfunc(String s){
    if (s == null) return null;
    if (s == "") return new String[0];
    //code.. 
    //this code will not run if s == "" 
}
I intended s == "" to cover all the empty strings.
But there seems to be cases where s != "" but s.length() == 0
What is the difference between s == "" and s.length() == 0?
