CharSequence 到 int

Posted

技术标签:

【中文标题】CharSequence 到 int【英文标题】:CharSequence to int 【发布时间】:2011-08-17 00:42:54 【问题描述】:

有没有办法将字符序列或字符串转换为 Ingeter?

CharSequence cs = "123";
int number = (int) cs;

我是菜鸟。解决方案:

CharSequence cs = "123";
int number = Integer.parseInt(cs);

【问题讨论】:

反之怎么样? CharSequence cs = String.valueOf(number); @passsy 您的评论应该是推荐的选项。而不是不必要的转换。 【参考方案1】:

使用这个

int i=Integer.parseInt(cs.toString())

【讨论】:

【参考方案2】:

Integer.parseInt(cs.toString())

【讨论】:

【参考方案3】:

使用 Wrapper 类(Integer、Float 等)中的解析器...

public static void main(String[] args) 
    String s = "1";
    int i = Integer.parseInt(s);
    System.out.println(i);

【讨论】:

【参考方案4】:

使用Integer.parseInt()。如果您的CharSequence 不是String,则需要先使用toString() 进行转换。

int number = Integer.parseInt(cs.toString());

【讨论】:

除了 Joachim 的回答之外,在您的情况下,CharSequence cs 已经是一个字符串。 CharSequence 是由 String 实现的 interface (但不仅如此),因此您没有创建 CharSequence 的对象(因为没有这样的东西),而是将 String 分配给 cs【参考方案5】:

来自 Editview 组件,

TextView txtYear = (TextView) findViewById(R.id.txtYear);
int intYear = Integer.parseInt(txtYear.getText().toString());

【讨论】:

【参考方案6】:

从 Java 9 开始,您可以使用 Integer.parseInt(CharSequence s, int from, int to, int radix) 解析来自任何 CharSequence 的整数,而无需先将其转换为字符串:

CharSequence cs = new StringBuilder("4711");
int value = Integer.parseInt(cs, 0, cs.length(), 10);

【讨论】:

【参考方案7】:

使用 Kotlin

CharSeqString.toString.toInt()

【讨论】:

以上是关于CharSequence 到 int的主要内容,如果未能解决你的问题,请参考以下文章

Android:无法转换为 java.lang.CharSequence

如何将字符串转换为 CharSequence?

法 setLatestEventInfo(TermService,CharSequence,CharSequence,PendingIntent)

java CharSequence接口

CharSequence初探

CharSequence equals() 不能正常工作