Let*_*rer 3 java android java-time
我尝试了一切,但错误仍未解决
这是我的代码:
public String[] getWeekDays() {
LocalDate today = LocalDate.now();
LocalDate monday = today;
LocalDate tue = today;
LocalDate wed = today;
LocalDate thur = today;
LocalDate fri = today;
LocalDate sat = today;
LocalDate sunday = today;
while (sunday.getDayOfWeek() != DayOfWeek.SUNDAY){
sunday = sunday.minusDays(1);
}
while (monday.getDayOfWeek() != DayOfWeek.MONDAY){
monday = monday.minusDays(1);
}
while (tue.getDayOfWeek() != DayOfWeek.TUESDAY){
tue = tue.plusDays(1);
}
while (wed.getDayOfWeek() != DayOfWeek.WEDNESDAY){
wed = wed.plusDays(1);
}
while (thur.getDayOfWeek() != DayOfWeek.THURSDAY){
thur = thur.plusDays(1);
}
while (fri.getDayOfWeek() != DayOfWeek.FRIDAY){
fri = fri.plusDays(1);
}
while (sat.getDayOfWeek() != DayOfWeek.SATURDAY){
sat = sat.plusDays(1);
}
String[] days = {String.valueOf(sunday),String.valueOf(monday), String.valueOf(tue), String.valueOf(wed),
String.valueOf(thur), String.valueOf(fri), String.valueOf(sat)};
return days;
}
Run Code Online (Sandbox Code Playgroud)
我已编写代码以获取一个星期的日期。当我运行此代码时,LocalDate.now();出现错误。该错误是“ java.lang.NoClassDefFoundError:无法解决以下问题:Ljava / time / LocalDate;”。我已经在网上搜索了。有人说它要求API级别至少为27。我对API 27级别感到厌倦,但该错误未得到解决。我的目标设备更多地是我需要在此API级别上运行的API 26。并且还尝试添加“编译” java.time:LocalTime:1.8“”。这一项也不起作用。请帮我...
NoClassDefFoundError-如果Java虚拟机或ClassLoader实例尝试加载类的定义(作为常规方法调用的一部分或使用新表达式创建新实例的一部分),则抛出该错误,并且找不到该类的定义。
LocalDate today = LocalDate.now(); // Added 1.8
Run Code Online (Sandbox Code Playgroud)
确保,您已在build.gradle部分中添加了此内容。
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
费耶
java.time 包仅在API 26中添加。
所以,你应该设置
minSdkVersion 26
Run Code Online (Sandbox Code Playgroud)
之后,Clean-Rebuild-Gradle。