Java SE 14 引入的重要特性之一是Helpful NullPointerExceptions,它与NullPointerException
. 是什么让NullPointerException
Java SE 14 比它的前身更有用?
作为 Java SE 12 的一部分,引入了switch
表达式,并且从 Java SE 14 开始,它们已经标准化。它们与switch
陈述有何不同?
我有一个具有以下名称格式的文件:
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
是包含文件名的变量。
预先非常感谢!
我有 GIT 子树的问题。
让我们看看,我有一个项目 A,其中包括:
Project A
|_CodeFolder1
|_CodeFolder2
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)
假设我创建了一个只有SharedFolder1和SharedFolder2的新存储库。所以我从主存储库中删除了这两个文件夹,并将它们添加到新的共享存储库中,如下所示:
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)
但总是有错误。似乎子树不允许我将树中的文件夹直接带到我的工作路径而不为共享文件创建新文件夹。
任何帮助将非常感激。
假设我有以下三个数组:
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) 我们是否知道是否存在输出与 相同结果的等效格式字符串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)
会输出相同的
我正在使用以下 ISO8601 格式:
YYYY-MM-DDThh:mm:ssZ
Run Code Online (Sandbox Code Playgroud)
我曾经OffsetDateTime.parse()
解析过这种格式。我能够通过在此处传递t
(而不是T
) 和z
(而不是Z
) 来解析日期时间。
那么谁能告诉它在ISO8601中是否允许,还是仅在解析逻辑中被忽略?
目前,当我对我创建的访问者组运行 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) 我想合并第 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) 我想从命令输出的最后一位中解析出 3 条信息wget
。例如:
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
) 值。
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:
\necho "(13.7 Mb/s)" | awk '$0 ~ /(.* Mb\\/s)/ {print $1}'\n
Run Code Online (Sandbox Code Playgroud)\n但我得到的(13.7
不仅仅是数字。