在java Runnable中,我通常会写一个循环,就像
while(running) {
......
}
Run Code Online (Sandbox Code Playgroud)
然后设置运行以false使线程停止.但是如果runnable是一个没有任何循环的漫长过程,并且不能被任何标签控制.如何让线程在另一个线程中停止?
谢谢
我正在用 java 操作 postgresql 数据库。请帮我选择一个开发实践。
我必须吗:
哪个是最佳实践?
在寻找连续4个小时后,我不得不放弃并问你们.我有一个非常简单的表单,它将接受输入和操作,将其写入我的Oracle DB(支持UTF-8).
<form action="test.jsp" method='GET' accept-charset="UTF-8">
<label for='NAME'>Name</label><input type="text" id="NAME" name="NAME"/>
<button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我想要做的就是能够接受é或?等字符的表单,并在不改变编码的情况下存储它们.
我已经尝试(和组合)选项,如设置
request.setCharacterEncoding("UTF-8");
或使用编码参数构建新的String:
new String(request.getParameter("NAME").getBytes(), "UTF-8")
但它总是在数据库中像这样结束:??????(输入??)
任何有关该主题的帮助将不胜感激.
在下面的例子中,编译器在行上抱怨:handler.handle(info); 有错误:
Event.Handler类型中的方法句柄(捕获#3-of?extends T)不适用于参数(T)
即使在这种情况下处理程序被声明为接受T的任何子类,编译器也不会接受类型为T本身的方法调用.
public class Event<T> {
public interface Handler<U> {
public void handle(U info);
}
private final Handler<? extends T> handler;
private final T info;
public Event(Handler<? extends T> handler, T info) {
this.handler = handler;
this.info = info;
}
public void doEvent() {
handler.handle(info);
}
}
Run Code Online (Sandbox Code Playgroud)
此示例的另一个有趣功能是,如果键入:"handler".在eclipse中,给出了以下建议"handle(null info):void".不知何故,类型'null'被建议为可接受的类型.
从命令行使用javac进行编译仍会产生类似的错误,因此这不仅仅是一个eclipse问题.
我的问题:
null类型?我正在尝试运行一个在我自己的计算机上正常运行的.jar,但在其他人身上给出了以下异常.
Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Character.isAlphabetic(I)Z
at chatai.Word.shrinkEndPunct(Word.java:91)
at chatai.Word.createWord(Word.java:36)
at chatai.ChatAI.addSentence(ChatAI.java:54)
at shared.Initializer.main(Initializer.java:130)
Run Code Online (Sandbox Code Playgroud)
我之前从未见过(I)Z部分,有谁知道这意味着什么?我已经尝试过更新Java了.
好吧,假设你有一个简单的程序,它采用字母az,如果你输入"c"它会做一些事情,例如"e"可能会添加2个随机数,"h"显示单词"hello","x"显示时间等
现在,我试图通过26种不同的方法来解决这个问题,每个字母一个,然后是一个主体代码,扫描用户输入然后调用适当的方法.
现在他们显然有100种方法可以解决这个问题,但我正在考虑的主要问题是你可以有26个if或者一个switch语句(例如,if(userInput.equals("a"))然后调用方法a等).或者我正在考虑的另一种方法是使用标记为az的方法,然后让用户输入"f"而不是检查它是哪个字母而不是信任用户并完全调用他们输入的字母.
例如:
- >用户输入Y.
userInput = y;
userInput(); - (这实际上是调用y(),这是一个方法名称).
我相信有一种方法可以使用"反思"来阅读这里,但我听说要避免过早优化,但在这种情况下,这不是最合乎逻辑的事情吗?
在保持其所有属性(创建日期,日期等)的同时移动/复制文件的最佳方法是什么?
谢谢
例如,我们有下一堆:Struts,Spring,Hibernate.你能帮我理解每个元素所起的作用吗?
我知道这Hibernate对数据库的所有人负责.
但是,什么样的作用Struts,并Spring在这种情况下?
谢谢.
好吧,我真的很陌生,我甚至不确定我问的是正确的问题,但我想创建一个具有一些regualr值的对象,如字符串和整数等.但另外我想要一个属性是一个像这样的字符串数组:
int hp =100;
int level =1;
int exp=0;
String[] items = {"hpPot","blank","blank","blank","blank"};
return new player(level, exp, hp, name, items[] );
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,至少我想确切知道原因.
谢谢.
这是装饰模式的一个例子.
public class Computer {
public String Description(){
return "Computer";
}
}
public abstract class Decorator extends Computer{
public abstract String description();
}
public class Monitor extends Decorator{
Computer computer;
public Monitor(Computer c){
computer = c;
}
public String description() {
return computer.Description() + " and Monitor";
}
}
public class main {
public static void main(String args[]){
Computer c = new Computer();
Monitor m = new Monitor(c);
System.out.println(m.description());
}
}
Run Code Online (Sandbox Code Playgroud)
调用超类的超级方法是否相同?比如当监视器从计算机继承然后调用监视器类中的Description方法内的计算机类中的super.Description()?