我试图破译为RTF的文本提取器编写的代码。我找到了一个函数,其中包含if
语句,将某些内容与字符集进行比较,并使用控件字ansi
pc
mac
。就像:
private void processControlWord() {
if (inHeader) {
if (equals("ansi")) {
globalCharset = WINDOWS_1252;
} else if (equals("pca")) {
globalCharset = CP850;
} else if (equals("pc")) {
globalCharset = CP437;
} else if (equals("mac")) {
globalCharset = MAC_ROMAN;
}
依旧......
比较这些字符集的equals
函数是什么?我已经看过somestring.equals(someothersting)
,但它在这里是如何运作的?
答案 0 :(得分:1)
这只是一个用户定义的函数,它覆盖了java的equals
函数的行为。
我认为用与预定义函数相同的名称命名函数不是一个好习惯。在维护方面,像我这样的人浪费了大量时间来理解代码。
答案 1 :(得分:0)
这是默认情况下java
实现 equals 方法的方法 static public boolean areEqual(boolean aThis, boolean aThat){
//System.out.println("boolean");
return aThis == aThat;
}
所以,根据那个 a.equals(b)返回true,表示满足条件a == b
但是在你的情况下,它只接受一个参数意味着,在你的代码中的某个地方,equals方法已被重载。 请参考此链接: enter link description here
答案 2 :(得分:0)
调用方法而不引用对象是在if (remoteFileExists('https://www.google.com/images/srpr/logo11w.png')){
echo 'Yay! Photo is there.';
} else {
echo 'Photo no home.';
}
上调用它的简写。所以这段代码可以读作:
this