public static List<Character> getCharList(String s) {
    final List<Character> l = new ArrayList<Character>();
    if (s == null)
      s = "aA0~!@#$%^&*()_{}|:\"><?`\\],=-[.+';/ ";

    char c;
    for (int i = 0; i < s.length(); i++)
      if ((c = s.charAt(i)) == 'a')
        for (; c <= 'z'; c++)
          l.add(new Character(c));
      else if (c == 'A')
        for (; c <= 'Z'; c++)
          l.add(new Character(c));
      else if (c == '0')
        for (; c <= '9'; c++)
          l.add(new Character(c));
      else
        l.add(new Character(c));
    return l;
  }