我正在使用grep来匹配文件中的字符串.这是一个示例文件:
example one,
example two null,
example three,
example four null,
Run Code Online (Sandbox Code Playgroud)
grep -i null myfile.txt
回报
example two null,
example four null,
Run Code Online (Sandbox Code Playgroud)
如何将匹配的行与其行号一起返回,如下所示:
example two null, - Line number : 2
example four null, - Line number : 4
Total null count : 2
Run Code Online (Sandbox Code Playgroud)
我知道-c返回总匹配的行,但我不知道如何正确格式化以total null count
在前面添加,我不知道如何添加行号.
我能做什么?
这是从斯坦福分析器附带的一些示例中获取的一小段代码.我已经用Java开发了大约4年,但是从来没有对这种代码风格应该表明什么有非常强烈的理解.
List<? extends HasWord> wordList = toke.tokenize();
Run Code Online (Sandbox Code Playgroud)
我并不担心代码的细节.令我困惑的是,通用表达式应该用英语表达的是什么.
谁可以给我解释一下这个?
我观察到外类可以访问内部类私有实例变量.这怎么可能?以下是演示相同内容的示例代码:
class ABC{
class XYZ{
private int x=10;
}
public static void main(String... args){
ABC.XYZ xx = new ABC().new XYZ();
System.out.println("Hello :: "+xx.x); ///Why is this allowed??
}
}
Run Code Online (Sandbox Code Playgroud)
为什么允许这种行为?
每个人都警告Java DateFormat不是线程安全的,理论上我理解这个概念.
但是我无法想象出由此产生的实际问题.比如,我在类中有一个DateFormat字段,并且在多线程环境中的类(格式化日期)中的不同方法中使用相同的字段.
这会导致:
另外,请解释原因.
我试图找到一些语义差异/合并实用程序的好例子.比较源代码文件的传统范例通过比较行和字符来工作..但是有没有任何实用程序(对于任何语言)在比较文件时实际考虑代码结构?
例如,现有的差异程序将报告"在第125行的字符2处找到的差异.文件x包含void,其中文件y包含bool".一个专门的工具应该能够报告"返回类型的方法doSomething()从void更改为bool".
我认为这种类型的语义信息实际上是用户在比较代码时所寻求的,并且应该是下一代编程工具的目标.可用工具中是否有这方面的例子?
这不会产生任何输出.怎么会?
$ echo 'this 1 2 3' | grep '\d\+'
Run Code Online (Sandbox Code Playgroud)
但这些做到:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
Run Code Online (Sandbox Code Playgroud) 我看到Guava有针对字符串的isNullOrEmpty实用方法
Strings.isNullOrEmpty(str)
Run Code Online (Sandbox Code Playgroud)
我们对列表有什么相似之处吗?就像是
Lists.isNullOrEmpty(list)
Run Code Online (Sandbox Code Playgroud)
这相当于
list == null || list.isEmpty()
Run Code Online (Sandbox Code Playgroud)
另外,我们对阵列有什么相似之处吗?就像是
Arrays.isNullOrEmpty(arr)
Run Code Online (Sandbox Code Playgroud)
这相当于
arr == null || arr.length == 0
Run Code Online (Sandbox Code Playgroud) 我正在阅读一些Java文本并获得以下代码:
int[] a = {4,4};
int b = 1;
a[b] = b = 0;
Run Code Online (Sandbox Code Playgroud)
在文中,作者没有给出明确的解释,最后一行的效果是: a[1] = 0;
我不太清楚我理解:评估是如何发生的?
在PHP中,您可以通过以下方式动态向元数添加元素:
$x = new Array();
$x[] = 1;
$x[] = 2;
Run Code Online (Sandbox Code Playgroud)
在此之后,$x
将是这样的数组:{1,2}
.
有没有办法在Java中做类似的事情?