有没有办法将带有id的字符串(例如:String id = "R.id.id"
)转换为int?
我试过这个:
String st = "R.id.id";
int id = Integer.parseInt(st);
但它不起作用。
感谢您的帮助!
答案 0 :(得分:0)
你所问的是完全错误的。
"R.id.id"
是一个String
,无法在int中转换。
总会抛出NumberFormatException
。
检查javadoc:
将字符串参数解析为带符号的十进制整数。字符串中的字符必须都是十进制数字,除了第一个字符可能是ASCII减号' - ' (' \ u002D')表示负值或ASCII加号' +' (' \ u002B')表示正值。返回结果整数值,就像参数和基数10作为parseInt(java.lang.String,int)方法的参数一样。
如果strings.xml
中使用的id
资源使用的资源是整数,则必须使用不同的somenthing:
<resources>
<string name="mystring">12</string>
</resources>
使用此代码检索字符串:
String string = getString(R.string.mystring);
try{
int number = Integer.parseInt(string);
} catch (NumberFormatException nfe){
//.....
}
答案 1 :(得分:0)
String
无法转换为int
或任何数字数据类型。但是,如果字符串包含数值,则可以将其转换为int
或其他数字数据类型。其原因是每个programming language
都定义了syntax
,如果你想通过字符赋值,你可以这样做
int variableName = 'a';
or
int variableName = 'b';
等。这是java 'a'
中的空间数字分配等于97
&amp; 'b'
等于98
。
或者如果字符串包含数值,则可以将其转换为
<resources>
<string name="stringVal">500</string>
</resources>
得到这样的
String string = getString(R.string.stringVal);
int anyName= Integer.parseInt(string);