小编Arv*_*ash的帖子

Java 14 中的 NullPointerException 与其前身有何不同?

Java SE 14 引入的重要特性之一是Helpful NullPointerExceptions,它与NullPointerException. 是什么让NullPointerExceptionJava SE 14 比它的前身更有用?

java nullpointerexception java-14

33
推荐指数
3
解决办法
2470
查看次数

什么是 switch 表达式,它们与 switch 语句有什么不同?

作为 Java SE 12 的一部分,引入了switch表达式,并且从 Java SE 14 开始,它们已经标准化。它们与switch陈述有何不同?

java switch-statement switch-expression java-14

19
推荐指数
3
解决办法
1178
查看次数

如何获取释放值?

我有一个具有以下名称格式的文件:

rzp-QAQ_SA2-5.12.0.38-quality.zip
rzp-TEST-5.12.0.38-quality.zip
rzp-ASQ_TFC-5.12.0.38-quality.zip
Run Code Online (Sandbox Code Playgroud)

我想要的值为:5.12.0.38-quality.zip来自上面的文件名。

我尝试如下,但没有得到正确的值:

echo "$fl_name" | sed 's#^[-[:alpha:]_[:digit:]]*##'
Run Code Online (Sandbox Code Playgroud)

fl_name是包含文件名的变量。

预先非常感谢!

regex grep cut sed

17
推荐指数
3
解决办法
454
查看次数

Git 子树前缀路径

我有 GIT 子树的问题。

让我们看看,我有一个项目 A,其中包括:

Project A
|_CodeFolder1
|_CodeFolder2
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

假设我创建了一个只有SharedFolder1SharedFolder2的新存储库。所以我从主存储库中删除了这两个文件夹,并将它们添加到新的共享存储库中,如下所示:

SharedProject
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

我是子树的新手,但到目前为止我实现了从远程子树拉/推。但是我遇到了问题。添加子树时,必须添加前缀,但我不想将共享代码保存在不同的文件夹中,例如:

Project A
    |_CodeFolder1
    |_CodeFolder2
    |_SharedFolders
             |_SharedFolder1
             |_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

--prefix每当我尝试添加子树时,这就是什么:

git subtree add --prefix=SharedFolders --squash shared master
Run Code Online (Sandbox Code Playgroud)

有什么办法可以告诉 git 没有前缀,或者子树必须直接保存在 ProjectA 中,就像在第一个模式中一样,而无需为子树创建新文件夹?

我试过这个命令

git subtree add --prefix=/ --squash shared master
Run Code Online (Sandbox Code Playgroud)

但总是有错误。似乎子树不允许我将树中的文件夹直接带到我的工作路径而不为共享文件创建新文件夹。

任何帮助将非常感激。

git github git-subtree

8
推荐指数
1
解决办法
3457
查看次数

使用 Streams 将 3 个数组转换为 1 个对象数组

假设我有以下三个数组:

int r[] = {255,255,255};
int g[] = {0,0,0};
int b[] = {255,255,255};
Run Code Online (Sandbox Code Playgroud)

所有数组都将具有相同的长度

我想将它们转换为Color类型的对象数组:

public class Color {
   int r,g,b;

   public Color(int r, int g, int b) {
        this.r = r;
        this.g = g;
        this.b = b;
   }

}

Color[] arr = new Color[3];
Run Code Online (Sandbox Code Playgroud)

其中每个索引将包含来自 3 个数组的相同索引的 r,g,b。例如,让我们说Color[1] = new Color(r[1],g[1],b[1]);

我如何使用 Java Streams 做到这一点?

代码的 for 循环变体是:

Color arr[] = new Color[r.length];

for(int i=0;i<r.length;i++) {
    Color c = new Color(r[i],g[i],b[i]);
    arr[i] = c; …
Run Code Online (Sandbox Code Playgroud)

java arrays java-stream

8
推荐指数
2
解决办法
278
查看次数

DateTimeFormatter.ISO_OFFSET_DATE_TIME 的等效格式字符串是什么?

我们是否知道是否存在输出与 相同结果的等效格式字符串DateTimeFormatter.ISO_OFFSET_DATE_TIME

IE

ZonedDateTime dateTime = ZonedDateTime.now();
System.out.println(dateTime.format(DateTimeFormatter.ofPattern(pattern)));
System.out.println(dateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
Run Code Online (Sandbox Code Playgroud)

会输出相同的

java java-8 java-time datetimeformatter

7
推荐指数
2
解决办法
1万
查看次数

ISO8601 格式中的时区指示符“T”和“Z”是否区分大小写?

我正在使用以下 ISO8601 格式:

YYYY-MM-DDThh:mm:ssZ
Run Code Online (Sandbox Code Playgroud)

我曾经OffsetDateTime.parse()解析过这种格式。我能够通过在此处传递t(而不是T) 和z(而不是Z) 来解析日期时间。

那么谁能告诉它在ISO8601中是否允许,还是仅在解析逻辑中被忽略?

java iso8601 java-time datetimeformatter offsetdatetime

7
推荐指数
1
解决办法
1330
查看次数

如何在Linux bash中为每个用户在一行中显示一个组下的用户

目前,当我对我创建的访问者组运行 grep 命令时

grep visitors:x:1011: /etc/group
Run Code Online (Sandbox Code Playgroud)

这是上述命令的示例结果,因为实际结果太长。

visitors:x:1011:ellipsiscoterie,magnetcommonest,wizardmeans,beakskeletal,lemonwellmade,ralphpaperclips etc..
Run Code Online (Sandbox Code Playgroud)

我如何显示上述结果,如下所示(没有访问者:x:1101并分隔逗号),因为我很难这样做。

ellipsiscoterie
magnetcommonest
wizardmeans
beakskeletal
lemonwellmade
ralphpaperclips
Run Code Online (Sandbox Code Playgroud)

linux bash awk sed tr

7
推荐指数
1
解决办法
847
查看次数

将两列合并为新列并打印所有列

我想合并第 1 列和第 2 列,并将它们添加为数据框中的新列。然后我想打印所有旧列和新创建的列。我可以使用下面的脚本组合列,但不确定如何打印所有列,而不仅仅是组合的列:

awk ' { print $1 $2 "_" $NF } ' input_file
Run Code Online (Sandbox Code Playgroud)

c1 c2 c3
12 1  12
4 4 57
Run Code Online (Sandbox Code Playgroud)

出去

c1 c2 c3 c4
12 1  12 12_1
4 4 57 4_4
Run Code Online (Sandbox Code Playgroud)

awk

7
推荐指数
1
解决办法
1804
查看次数

从固定模式字符串中提取多个值

我想从命令输出的最后一位中解析出 3 条信息wget。例如:

\n
2022-12-26 19:14:44 (13.7 Mb/s) - \xe2\x80\x98somelibrary.min.js\xe2\x80\x99 saved [1077022]\n
Run Code Online (Sandbox Code Playgroud)\n

我能够获取日期/时间,因为它是固定长度。我无法提取估计的传输速度 ( 13/7) 和文件大小 ( 1077022) 值。

\n
STR="2022-12-26 19:14:44 (13.7 Mb/s) - \xe2\x80\x98somelibrary.min.js\xe2\x80\x99 saved [1077022]"\necho date/time is ${STR::19}\n
Run Code Online (Sandbox Code Playgroud)\n

我想剩余的子字符串提取需要借助正则表达式来完成,但我无法弄清楚。是否有一条仅使用 awk、sed 等 *nix 实用程序的可行路径?

\n

我尝试过 awk:

\n
echo "(13.7 Mb/s)" | awk '$0 ~ /(.* Mb\\/s)/ {print $1}'\n
Run Code Online (Sandbox Code Playgroud)\n

但我得到的(13.7不仅仅是数字。

\n

regex bash awk substring

7
推荐指数
4
解决办法
194
查看次数