我有一些书中的示例代码,作者总是在if结尾处使用continue.
例:
int a = 5;
if(a == 5)
{
// some code
continue;
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这没有任何意义.可能背后有某种质量管理推理还是我错过了一些更重要的观点?
我有以下xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="0" firstname="John"/>
</users>
Run Code Online (Sandbox Code Playgroud)
然后我试图用java解析它,但getchildnodes报告错误的子节点数.
Java代码:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(this.file);
document.getDocumentElement().normalize();
Element root = document.getDocumentElement();
NodeList nodes = root.getChildNodes();
System.out.println(nodes.getLength());
Run Code Online (Sandbox Code Playgroud)
结果:3
此外,我正在获取用于访问节点属性的NPE,因此我猜测某些内容非常糟糕.
我有一个外部应用程序调用我的应用程序,并应该在工作完成后结束它。该外部应用程序的日志声称它WM_CLOSE在我的应用程序上使用。
如何拦截WM_CLOSE应用程序中的消息以执行一些清理操作?我尝试at_exit()将其包装在一个类中,但我认为我的方法是错误的。
所以我在使用while循环遍历套接字时遇到了这个问题.
当我使用它时,它完全正常,但我对每一个都有新行$message,我不想要.
my $socket = new IO::Socket::INET (
LocalHost => "127.0.0.1",
LocalPort => "12345",
Proto => 'tcp',
Listen => 1,
Reuse => 1
);
my $client = $socket->accept();
while(<$client>) {
my $message = $_;
print $message;
}
Run Code Online (Sandbox Code Playgroud)
但是当我添加chomp时,循环仅在我断开客户端时完成(我理解为什么).我的猜测是chomp从$_变量中删除了换行符,因此循环将不再起作用.
my $socket = new IO::Socket::INET (
LocalHost => "127.0.0.1",
LocalPort => "12345",
Proto => 'tcp',
Listen => 1,
Reuse => 1
);
my $client = $socket->accept();
while(<$client>) {
my $message = $_;
chomp($message);
print $message;
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何在没有消息中的换行符的情况下遍历套接字(换行符已终止)?
谢谢你!
我创建了以下测试,以了解Java如何处理对象,这让我感到困惑.
public class MyClass
{
public String text = "original";
public MyClass(String text)
{
this.text = text;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了以下两个场景:
1.
String object1 = new String("original");
String object2 = new String("original");
object2 = object1;
object2 = "changed";
System.out.println(object1);
System.out.println(object2);
Run Code Online (Sandbox Code Playgroud)
结果:
original
changed
Run Code Online (Sandbox Code Playgroud)
2.
MyClass object1 = new MyClass("object1");
MyClass object2 = new MyClass("object2");
object2 = object1;
object2.text = "changed";
System.out.println(object1.text);
System.out.println(object2.text);
Run Code Online (Sandbox Code Playgroud)
结果:
changed
changed
Run Code Online (Sandbox Code Playgroud)
现在为什么文本字段像静态字段一样被共享?
我有一个泛型类,它扩展了另一个泛型类.
抽象类有2个类型参数,但我的函数只需要一个.
是保存只是像String类型一样随机分配,还是有任何缺点?
public abstract class AbstractFoo<T, B>
{
public abstract void read(T item);
}
public class LittleFoo extends AbstractFoo<byte[], String>
{
@Override
public void read(byte[] item)
{
// work here
}
}
Run Code Online (Sandbox Code Playgroud)