当前位置: 首页 > 知识库问答 >
问题:

无效的字符串开关案例

宗政斌
2023-03-14

我的应用程序未确认JDK 1.8。我试图使用一个带有字符串的开关盒作为开关。仅使用JavaDocs中的一个基本示例是的,我可以切换到if/else语句,但我不愿意。

public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {
 String typeOfDay;
 switch (dayOfWeekArg) {
     case "Monday":
         typeOfDay = "Start of work week";
         break;
     case "Tuesday":
     case "Wednesday":
     case "Thursday":
         typeOfDay = "Midweek";
         break;
     case "Friday":
         typeOfDay = "End of work week";
         break;
     case "Saturday":
     case "Sunday":
         typeOfDay = "Weekend";
         break;
     default:
         throw new IllegalArgumentException("Invalid day of the week: " + dayOfWeekArg);
 }
 return typeOfDay;
}

我得到了不兼容类型的错误:byte、char、int、short,这意味着我使用的是旧版本的Java。。这不合理,因为我有jdk1。已安装8.0_11。

这会是我的Gradle档案中的一个问题吗?

apply plugin: 'com.android.application'

dependencies {
    compile 'com.parse.bolts:bolts-android:1.1.2'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
    compile 'com.android.support:support-v4:18.0.0'
}

android {
    compileSdkVersion 15
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "name"
        minSdkVersion 15
        targetSdkVersion 15
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

共有1个答案

羊渝
2023-03-14

使用此解决方案,我能够消除错误。将targetCompatibility添加到Java 1.7以解决此问题。Android目前没有在其项目中使用Java1.8。

将其添加到构建中。渐变文件

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
 类似资料:
  • 在Jenkins中解析json文件时面临以下错误 Json文件 错误 hudson.remoting.代理异常:net.sf.json.JSONExcture:无效的JSON字符串在net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:143)在net.sf.json.JSONSerializer.toJSON(JSONSerializer.j

  • 案例1 自定义一个具有字符串替换功能的函数 使用for循环从指定位置遍历字符串“Good morning” 用字符串“evening”中的字符逐一替换原串 主函数中调用字符串替换函数 最后将替换后的字符串输出到屏幕上 #include <stdio.h> char * MyReplace(char *s1, char *s2, int pos) //自定义的替换函数 { int i, j;

  • 我正在尝试设置一个Perl脚本,该脚本将使用通过Stripe处理信用卡费用。 我能够成功请求令牌,但当我使用该令牌过帐费用时,出现以下错误: 错误:无效的\u请求\u错误-无效字符串:{“exp\u month”= 这是我的密码 我应该使用以外的东西作为卡片值吗?

  • 我无法使用MySQL和phpMyAdmin进行基本的编码工作。我想在我的数据中使用简单的法语字符(如é和è)。如果运行UPDATE,则字符插入正确。但不是在我导入剧本的时候... 下面是我在phpMyAdmin上导入的脚本: 导入时出现的两个错误: 在phpMyAdmin上导入脚本时,唯一接近utf8mb4的选项是utf8 表和数据库也采用类似的编码 但是数据被剥离了... 我想做什么 将COLL

  • 问题内容: Java字符串修剪不会为我删除空格字符。 输出为。请注意1右边的空间。 我必须从字符串中删除尾随空格,但既不要也不删除它。 无论哪种方式,字符串都保持相同。 编辑:完整代码 :: 为什么我不能删除那个空间? 问题答案: 该网站的源代码显示特殊的html字符。尝试在您的java字符串中搜索或替换以下内容:。 那是一个不可破坏的空间。请参阅:我有一个带有“ \ u00a0”的字符串,我需要