试图重载类型的java.lang.Math.sqrt
静态方法int
:
import static java.lang.Math.sqrt;
class Test
{
private static double sqrt(int n)
{
return sqrt(1.0 * n);
}
public static void main(String[] args)
{
System.out.println(sqrt(1));
}
}
Run Code Online (Sandbox Code Playgroud)
出现奇怪的错误:
Test.java:7: sqrt(int) in Test cannot be applied to (double)
return sqrt(1.0 * n);
^
1 error
Run Code Online (Sandbox Code Playgroud)
但是当明确引用该java.lang.Math.sqrt
方法时,一切正常:
class Test
{
private static double sqrt(int n)
{
return Math.sqrt(1.0 * n);
}
public static void main(String[] args)
{
System.out.println(sqrt(1));
}
}
Run Code Online (Sandbox Code Playgroud)
使用的编译器是标准的javac,版本1.6.0_16.
所以问题是: …
如何在文本中添加字幕行为JLabel
?
我试过这个
JLabel search = new JLabel("<html><marquee>Search</marquee><html>");
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
在立即窗口中尝试以下操作:
object a1 = "a";
object a2 = "a";
a1==a2 // outputs false
Run Code Online (Sandbox Code Playgroud)
你会看到a1 == a2
输出false
.
但是,在运行时窗口应用程序或控制台中,您将获得true
:
object t1 = "a";
object t2 = "a";
MessageBox.Show((t1 == t2).ToString()); // outputs true
Run Code Online (Sandbox Code Playgroud)
运行时行为与==
运算符和字符串的定义一致.
有人知道这是立即窗口中的错误吗?
我正在PreparedStatement
使用MySQL服务器.
例:
String myQuery = "select id from user where name = ?";
PreparedStatement stmt = sqlConnection.prepareStatement(myQuery);
stmt.setString(1, "test");
stmt.executeQUery();
ResultSet rs = stmt.getResultSet();
Run Code Online (Sandbox Code Playgroud)
如何收到即将在MySQL服务器上执行的完整SQL查询?
谢谢!
我们有一个字符串输入及以下组合是有效的(例如sunday
,*sunday*
,sun*day*
,*sun*day
,su*nda*y
)如果只包含一个星号,那么这是一个错误的输入.
因此,鉴于上述输入,我如何检查字符串是否包含多个星号.
我正在以静态上下文的方式寻找JAVA中当前类的"自我"引用,就像在PHP Scope Resolution Operator中一样?
解决方案:超出范围?请注意,这与静态定义相比真的很慢(乘以300):
static Logger LOG = LoggerFactory.getLogger(new RuntimeException().getStackTrace()[0].getClassName());
Run Code Online (Sandbox Code Playgroud)
老式的方式是:
static Logger LOG = LoggerFactory.getLogger(<Classname>.class.getName());
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?我正在寻找一种将记录器定义放在抽象类中的方法.记录器应该确定它自己调用的类.
我想知道是否有一个好的设计模式或成语来实现以下内容:
您有一个仅提供访问者界面的现有类,如下所示
Run Code Online (Sandbox Code Playgroud)class Visitor { public: virtual ~Visitor() { } virtual void visit(Node *n) = 0; }; class Tree { public: void accept(Visitor *v); };
并且您希望有一个可以按如下方式使用的接口,它应该按照访问者
visit
调用其函数的顺序遍历树.Run Code Online (Sandbox Code Playgroud)for(iterator it(...), ite(...); it != ite; ++it) { /* process node */ }
问题似乎是当我们刚刚调用时visit
,我们失去控制,并且不能暂时"返回"循环体来执行一个节点的操作.这看起来应该在现实世界的程序中定期出现.知道怎么解决吗?
我在Ubuntu 10.10上运行Tomcat 6.0.31并使用tge Sun JDK(java-6-sun).虽然运行tomcat时它的进程在我运行时不显示jps
(Java虚拟机进程状态工具).我看到的唯一输出是jps进程本身的pid.为什么Tomcat进程不显示?
当我将鼠标悬停在符号上时,Eclipse会在工具提示窗口中显示JavaDoc帮助.这很好,但如果我可以在光标位于符号上时从键盘弹出此工具提示会更好.有没有这样做的捷径?
我发现Shift- F2它打开外部JavaDoc,我不希望这样.我想用鼠标悬停时显示的键盘弹出相同的工具提示.
编辑:谢谢,这很快.:)我接受了最快的答案.
以下示例:我有一个struts动作的超类和子类.超类定义@Results
,子类需要定义其他特定@Result
条目.例如:
@Results({
@Result(name=BaseAction.ERROR, location="/WEB-INF/jsp/error.jsp")
})
public abstract class BaseAction extends ActionSupport implements ServletRequestAware {
...
}
Run Code Online (Sandbox Code Playgroud)
..和一个子类
@Results({
@Result(name=BaseAction.INDEX, location="/WEB-INF/jsp/reporting/index.jsp")
})
public class ReportAction extends BaseAction {
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否ReportAction的实例只有具备@Result
的INDEX
定义,或者它也包含任何@Result
在任何定义的项目,如果它的父类.我是否ReportAction
知道为BaseAction.ERROR
?? 设置的位置?
谢谢,马丁