小编Arv*_*ash的帖子

最终类中的静态函数是否隐式最终?

我的问题与这个基本相同,但这也适用于static函数吗?

我想了解:

  1. 编译器是否将类static中的所有函数都视为?finalfinal
  2. 在类中的函数中添加final关键字有什么作用吗?staticfinal

java static final class function

0
推荐指数
1
解决办法
1119
查看次数

来自 yyyy-mm-dd 中日期字符串的 ZonedDateTime

尝试从日期字符串(例如“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)

java date-format java-time zoneddatetime datetimeformatter

0
推荐指数
1
解决办法
4838
查看次数

计算循环迭代次数

这里我有一个简单的方法,使用 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

0
推荐指数
1
解决办法
293
查看次数

同一个 .java 文件中的多条记录

我们总是可以在一个 .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 文件中的多个类

java class java-record java-16

0
推荐指数
3
解决办法
158
查看次数

Java8 过滤器数组列表与字段日期上的自定义对象

我必须List<Card>在字段issueDate(类型String)上进行过滤,其中卡片要显示到过去 7 年的日期。

我尝试过的解决方案是issueDateStringto解析字段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)

甚至不能申请循环,因为可能有数百张卡发行,它通过迭代每个发卡日期(字符串到日期和检查年份)来影响性能

任何人都可以提出一个很好的解决方案来解决这个问题吗?

arraylist simpledateformat java-8 java-stream java-time

0
推荐指数
1
解决办法
219
查看次数

如何更改日期的时区 android kotlin [HH:mm]

作为输入,我得到一个类似 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

0
推荐指数
1
解决办法
4585
查看次数

java中如何将一个字符串分成两部分

假设一个字符串由两部分组成:日期和日期。

String arr[] = { "Tuesday 8/11/22", "Monday 15/3/21", "Friday 20/5/21" };
Run Code Online (Sandbox Code Playgroud)

如何在控制台上只打印出后一部分(日期部分)?

java arrays string date

0
推荐指数
1
解决办法
49
查看次数

java中如何从可变对象创建不可变对象?

如何创建不可变的星球以便名称不会改变?我很挣扎,因为我认为这是具有可变对象的不可变项目。如果我错了请纠正我。

每次我更改输出中的名称也会更改。我错过了什么吗?

我尝试将所有字段设为私有和最终(不在本例中),但我认为我缺少一些工作代码。

我知道 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)

java oop access-modifiers immutability

-1
推荐指数
1
解决办法
826
查看次数

想要匹配一个范围字符串(检查正文)

我有一个像 "[5 TO 100]%" 这样的字符串,我想在正则表达式的帮助下匹配它

此字符串中的 5 和 100 可以更改,例如 5 的范围可以从 1 到 999,而 100 也是如此

其他人会照原样,所以基本上我想匹配“[num1 TO num2]%”

- 编辑 -

重复目标仅部分满足要求,因为字符串具有非数字字符(字母和特殊字符,如[]、 和%)。

java regex string

-1
推荐指数
1
解决办法
194
查看次数

Java 周期返回 2 个日期之间的错误天数

我有以下代码来计算 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)

谁能告诉我我的代码有什么问题

java java-time

-1
推荐指数
1
解决办法
95
查看次数

如何只找到带有正则表达式的整数?

给定以下字符串:

11 bsszzz 0.5 te 11.43 432 -66 a x 
Run Code Online (Sandbox Code Playgroud)

我想找到所有的整数。在这种情况下:11,432-66

我可以为此使用哪个正则表达式?

我试过-?\d+,但它会返回每个数字,包括那些是十进制数字的一部分。

编辑:

以下重复目标均未回答该问题:

  1. 重复目标中的解决方案Regex to Match only integer给出11432、 和66不满足要求。
  2. 在复制目标的解决方案,Python的正则表达式匹配的整数但不漂浮太给出了相同的输出,即1143266

事实上,两个重复的目标是彼此重复的,但没有一个满足这个问题的要求。

java regex

-4
推荐指数
1
解决办法
471
查看次数

Java 中的文本块(或多行字符串)功能是什么?

Java SE 13 引入了文本块(或多行字符串)功能。它与现有的字符串表示有什么区别和相似之处?

java java-text-blocks java-15

-4
推荐指数
1
解决办法
3079
查看次数

将两个一维字符串数组合并为一个带分隔符的数组

我有两个数组:

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)

使用等号 ( =) 作为合并字符串之间的分隔符?

java arrays java-stream

-18
推荐指数
1
解决办法
1278
查看次数