判断一个字符串中是否含有全角字符,方法一
public static void main(String[] args){
List list = new ArrayList();
list.add("1");
list.add("a");
list.add("本");
list.add("3");
for( int i = 0; i < list.size(); i ++ ){
System.out.println( ((String)list.get(i)).getBytes().length );
}
}
String str = "123本";
if( str.length() < str.getBytes().length ){
System.out.println("含全角文字");
}
以上程序的输出结果如下所示:
1
1
2
2
含全角文字
方法二:
最根本的就是现在java中的char是可以动态的(1-2字节)
那么要想判定就很简单了,如果char的长度超过了1就是,如果是1就不是
public class test {
/**
* @param args
*/
public static void main(String[] args) {
String a = "AAAA";
String b = "AAAA";
System.out.println(checkHalf(a));
System.out.println(checkHalf(b));
}
public static boolean checkHalf(String str) {
byte[] Char;
for(int i = 0; i < str.length(); i++) {
try{
Char = (new Character(str.charAt(i)).toString()).getBytes("MS932");
}catch(Exception e) {
return false;
}
if(Char.length == 1) {
return true;
}
}
return false;
}
}