Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java parseInt(";0x1F60A";)以NumberformatException结束_Java_Android_Emoji_Numberformatexception - Fatal编程技术网

Java parseInt(";0x1F60A";)以NumberformatException结束

Java parseInt(";0x1F60A";)以NumberformatException结束,java,android,emoji,numberformatexception,Java,Android,Emoji,Numberformatexception,我试图从数据库中获取长字符串中的表情代码,格式如下:0x1F60A。。。因此我可以访问代码,但它将是一个字符串 首先,我尝试通过执行tv.setText(beforeEmo+getEmijoByUnicode((int)emoKind))来强制转换变量但Android Studio提示:“无法将'java.lang.String'强制转换为int” getEmijoByUnicode方法是: public String getEmijoByUnicode(int unicode) { r

我试图从数据库中获取长字符串中的表情代码,格式如下:0x1F60A。。。因此我可以访问代码,但它将是一个字符串

首先,我尝试通过执行
tv.setText(beforeEmo+getEmijoByUnicode((int)emoKind))来强制转换变量但Android Studio提示:“无法将'java.lang.String'强制转换为int”

getEmijoByUnicode方法是:

public String getEmijoByUnicode(int unicode) {
    return new String(Character.toChars(unicode));
}
所以我试过这个:

tv.setText(beforeEmo + getEmijoByUnicode(Integer.parseInt(emoKind)));
但它以数字形式崩溃了。有没有办法让表情符号出现在我的文本中?

试试看

Integer.parseInt("1F60A", 16);

将字符串转换为int或long。所以你必须像这样去掉“0x”

getEmijoByUnicode(Integer.parseInt(emoKind.substring(2), 16));

也许你的意思是没有引号的
0x1F60A
?否则,您只有一个字符串。否则,
parseInt
接受基数参数16
getEmijoByUnicode(Integer.parseInt(emoKind.substring(2), 16));