我的问题与这个基本相同,但这也适用于static函数吗?
我想了解:
static中的所有函数都视为?finalfinalfinal关键字有什么作用吗?staticfinal尝试从日期字符串(例如“2020-08-24”)解析 ZonedDateTime。
使用 TemporalAccesor 和 DateTimeFormatter.ISO_OFFSET_DATE 进行解析时,我收到 java.time.format.DateTimeParseException。我使用了错误的格式化程序吗?
甚至尝试在日期字符串末尾添加“Z”,以便将其理解为 UTC
private ZonedDateTime getZonedDateTime(String dateString) {
TemporalAccessor parsed = null;
dateString = dateString + 'Z';
try {
parsed = DateTimeFormatter.ISO_OFFSET_DATE.parse(dateString);
} catch (Exception e) {
log.error("Unable to parse date {} using formatter DateTimeFormatter.ISO_INSTANT", dateString);
}
return ZonedDateTime.from(parsed);
}
Run Code Online (Sandbox Code Playgroud) 这里我有一个简单的方法,使用 s 查找所有重复的数字HashMap。这仅显示重复的数字。我还需要计算每个数字的出现次数。如何实现for循环来计算每个数字的频率?
//driver
public class findDuplicates {
public static void main(String[] args) {
int[] input = { 2, 3, 6, 5, 5, 6, 9, 8, 7, 7, 7, 4, 1, 2, 5, 5, 2 };
dulicates(input);
}
public static void dulicates(int[] MyArray) {
Map<Integer, Integer> HashMap = new HashMap<Integer, Integer>();
for (int i : MyArray) {
if (!HashMap.containsKey(i)) {
HashMap.put(i, 1);
} else {
HashMap.put(i, HashMap.get(i) + 1);
}
}
for (Integer i : HashMap.keySet()) …Run Code Online (Sandbox Code Playgroud) 我们总是可以在一个 .java 文件中有多个类。考虑到封装以及每个类都由多行代码组成,在 1 个 .java 文件中包含 1 个类(不要谈论嵌套类)总是有意义的。
现在记录开始发挥作用,它们可以少至 1 行代码。在同一个 .java 类中封装多个记录是否有意义?
例如我们可以有
DTO.java文件将包含
record Employees(List<Employee> employees) { } //This is just a wrapper class that we normally need in order to return a list of objects in rest web services
record Employee(String name, Integer age, List<Attribute> attributes){ }
record Attribute(String name, String value) { }
Run Code Online (Sandbox Code Playgroud)
如果没有记录具有公共访问修饰符,那么我们可以将所有记录包含在名为DTO.java的文件中
在我看来,拥有 3 个 .java 文件,每个文件中只有 1 行代码似乎不太好。
但是,我们仍然会面临类似这里描述的问题,即同一 java 文件中的多个类
我必须List<Card>在字段issueDate(类型String)上进行过滤,其中卡片要显示到过去 7 年的日期。
我尝试过的解决方案是issueDate从Stringto解析字段Date,然后应用date.after(startDate),date.before(endDate)如下所示:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cardList.stream()
.map(s->s.getIssueDate())
.filter(dt -> sdf.parse(dt).after(sdf.parse("2020-06-08")) &&
sdf.parse(dt).before(sdf.parse("2020-08-12")))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
甚至不能申请循环,因为可能有数百张卡发行,它通过迭代每个发卡日期(字符串到日期和检查年份)来影响性能
任何人都可以提出一个很好的解决方案来解决这个问题吗?
作为输入,我得到一个类似 HH:mm 的字符串,它是 UTC。但我需要将时间转换为+3小时(即UTC+3)。
例如,原来是 12:30 - 现在变成了 15:30。
我尝试了这段代码,但它不起作用:(
fun String.formatDateTime(): String {
val sourceFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
sourceFormat.timeZone = TimeZone.getTimeZone("UTC")
val parsed = sourceFormat.parse(this)
val tz = TimeZone.getTimeZone("UTC+3")
val destFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
destFormat.timeZone = tz
return parsed?.let { destFormat.format(it) }.toString()
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
android simpledateformat timezone-offset android-calendar kotlin
假设一个字符串由两部分组成:日期和日期。
String arr[] = { "Tuesday 8/11/22", "Monday 15/3/21", "Friday 20/5/21" };
Run Code Online (Sandbox Code Playgroud)
如何在控制台上只打印出后一部分(日期部分)?
如何创建不可变的星球以便名称不会改变?我很挣扎,因为我认为这是具有可变对象的不可变项目。如果我错了请纠正我。
每次我更改输出中的名称也会更改。我错过了什么吗?
我尝试将所有字段设为私有和最终(不在本例中),但我认为我缺少一些工作代码。
我知道 java.util.Date 已被弃用,但这只是示例。
import java.util.Date;
public final class Planet {
String name;
private final Date discoveryDate;
public Planet (String name, Date discoveryDate) {
this.name = name;
this.discoveryDate = new Date(discoveryDate.getTime());
}
public String getName()
return name;
}
public Date getDiscoveryDate() {
return new Date(discoveryDate.getTime());
}
public static void main(String [] args) {
Planet Earth = new Planet("Earth Planet", new Date(2020,01,16,17,28));
System.out.println("Earth");
System.out.println("------------------------------------");
System.out.println("Earth.getName: " + Earth.getName());
System.out.println("Earth.getDiscoveryDate: " + Earth.getDiscoveryDate());
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个像 "[5 TO 100]%" 这样的字符串,我想在正则表达式的帮助下匹配它
此字符串中的 5 和 100 可以更改,例如 5 的范围可以从 1 到 999,而 100 也是如此
其他人会照原样,所以基本上我想匹配“[num1 TO num2]%”
- 编辑 -
重复目标仅部分满足要求,因为字符串具有非数字字符(字母和特殊字符,如[、]、 和%)。
我有以下代码来计算 2 天之间的天数差异,01/09/2023 and 02/10/2023预期结果是 31 天,但代码返回 1 天。
LocalDate from = LocalDate.of(2023, 9, 1);
LocalDate to = LocalDate.of(2023, 10, 02);
Period period = Period.between(from, to);
System.out.print(period.getYears() + " years,");
System.out.print(period.getMonths() + " months,");
System.out.print(period.getDays() + " days");
Run Code Online (Sandbox Code Playgroud)
输出 :
0 years,1 months,1 days
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我的代码有什么问题
给定以下字符串:
11 bsszzz 0.5 te 11.43 432 -66 a x
Run Code Online (Sandbox Code Playgroud)
我想找到所有的整数。在这种情况下:11,432和-66
我可以为此使用哪个正则表达式?
我试过-?\d+,但它会返回每个数字,包括那些是十进制数字的一部分。
编辑:
以下重复目标均未回答该问题:
11、432、 和66不满足要求。11,432和66。事实上,两个重复的目标是彼此重复的,但没有一个满足这个问题的要求。
Java SE 13 引入了文本块(或多行字符串)功能。它与现有的字符串表示有什么区别和相似之处?
我有两个数组:
a = ["a","b","c"]
b = ["d","e","f"]
Run Code Online (Sandbox Code Playgroud)
如何将它们合并到一个数组中,如下所示:
c = ["a=d", "b=e", "c=f"]
Run Code Online (Sandbox Code Playgroud)
使用等号 ( =) 作为合并字符串之间的分隔符?