android studio如何将id转换为int?

时间:2015-09-13 05:35:34

标签: java android android-studio

有没有办法将带有id的字符串(例如:String id = "R.id.id")转换为int?

我试过这个:

String st = "R.id.id";
int id = Integer.parseInt(st);

但它不起作用。

感谢您的帮助!

2 个答案:

答案 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);