【问题标题】:String Splitting Error In AndroidAndroid中的字符串拆分错误
【发布时间】:2014-10-15 22:17:33
【问题描述】:

Android 开发者您好,

我在 android 中遇到字符串拆分问题,告诉我将 Java 合规性更改为 JRE 1.7 当我更改合规性错误时,因为它仅适用于 api 级别 19

   String st="a,b,c,d";
   String[] temp=st.split(",");
   for(int i=0;i<temp.lenght;i++)
   {
       switch(temp[i])
       {
           case "a":
                   //print something
                   break;
           case "b":
                  //print something
                  break;
           case "c":
                 //print something
                  break;
           case "d":
                 //print something
                 break;
          default:
                 //print something
       }
   }

错误在switch语句中, 我在 2.3 设备上开发如何解决?

错误:

[2014-08-22 11:47:26 - text] Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 8

【问题讨论】:

  • 切换字符串在 Java 1.7+ 中实现 对于 API lvl 19 错误 - 我在这里看不到任何 Android 特定代码。
  • 只需将 switch 语句替换为 else-if 语句集 Switch by String 是在 JDK 1.7 中引入的,而基于 JDK 1.6 的 Android SDK
  • 您没有在default 案例中定义任何内容。
  • 1.6 不允许您在 switch 语句中传递字符串。请更改它。

标签: java android android-sdk-2.3


【解决方案1】:

解决: Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 8

  1. 试试 Project --> Properties --> Java Compiler --> Compliance Level --> 1.6

  2. 设置合规级别后,清理项目。如果需要,重启 eclipse。

另外,正如 James 所指出的,你的 for 循环应该是 i&lt;temp.length(应该纠正拼写错误)

【讨论】:

  • @Ribin。感谢您接受作为答案。也请投票,因为它会增加我们的标签分数。 TIA!
【解决方案2】:

你犯了一个拼写错误:

for(int i=0;i<temp.lenght;i++)
                    ^^

应该说length而不是lenght

【讨论】:

  • 这是个问题,但不是问题。
【解决方案3】:

编译器合规级别在 Eclipse 中是版本相关的。如果您使用的是 Eclipse 3.7 或更低版本,那么您将无法获得 1.7 合规性。使用 Eclipse JUNO 或更高版本。

有关 JDT Core 7 及其发布相关信息的更多信息

更新:

即使是 eclipse 3.7.1 版本也支持 Java 7 功能和合规级别。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多