我遇到了instanceof运营商的麻烦.我试图避免它.基本上,我有以下结构:
class Shape {}
class Triangle extends Shape {}
class Rectangle extends Shape {}
ShapeParser s;
while (s.hasNext())
parseShape(s.next()); // returns a Shape object
void parseShape(Triangle t) { // do stuff } // KEY POINT HERE
void parseShape(Rectangle t) { // etc }
Run Code Online (Sandbox Code Playgroud)
我正在做的关键点是:我想要对函数执行参数重载,但是它不能正常工作(编译错误).我试图避免:
void parseShape(Shape s)
{
if (s instanceof Triangle) ...
}
Run Code Online (Sandbox Code Playgroud)
更新:似乎共识是创建一个基类方法:parseShape()来完成提升.我想澄清一下我的问题:这个问题的动机是与观察者模式有关.假设我有以下Observer对象有效负载方法:
public void update(Observable obj, Shape objectPayload){}
// note: the objectPayload is usually of type Object
Run Code Online (Sandbox Code Playgroud)
而不是执行:
public void update(Observable obj, Shape objectPayload)
{ …Run Code Online (Sandbox Code Playgroud) 嘿家伙我可以用什么来将这个字符串转换为数字?"$ 148,326.00"
我猜我需要爆炸它并取下美元符号,然后使用parseFloat()?那会是最明智的方式吗?谢谢
这就是我得到的数字:
var homestead = xmlDoc.getElementsByTagName("sc2cash");
document.getElementById('num1').innerHTML = homestead[1].textContent;
Run Code Online (Sandbox Code Playgroud) 最近,我开始使用Head First Java来学习Java,但我发现这本书缺乏有关设置Java的大量信息。它几乎告诉我下载JDK,并提到了有关类路径变量的内容。
我非常困惑,很明显,我的Java尚未设置为可以运行。所以...我进行了研究,并设法将/ bin /目录添加到CLASS_PATH中,并且还创建了一个名为JAVA_HOME的新系统变量,并将其指向bin文件夹。我不太确定该怎么做-这个话题对于其他每个程序员似乎都很容易,因为我找不到其他人在设置Java环境方面有如此困难。
因此,我现在可以编译并运行程序。我已经做了一些Hello World的事情,yada yada。现在,在第37页上,我们实际上将要做一些OOP的工作。这些是类:
class Movie {
String title;
String genre;
int rating;
void PlayIt() {
System.Out.println("Playing the movie");
}
}
Run Code Online (Sandbox Code Playgroud)
第二个:
public class MovieTestDrive {
public static void main(String[] args) {
Movie one = new Movie();
one.title = "Movie 1";
one.genre = "Movie 1 Genre";
one.rating = -2
two.title = "Movie 2";
two.genre = "Movie 2 Genre";
two.rating = -1
three.title = "Movie 3";
three.genre = "Movie 3 Genre";
three.rating = 3
}
} …Run Code Online (Sandbox Code Playgroud) 有谁知道如何设置一个可以在Windows Phone 7应用程序的所有页面上访问的变量?
我即将开发基于JAX-RS的RESTful Web服务,我使用MOXy(JAXB)来自动生成我的Web服务的JSON响应.
一切都很酷,但由于Web服务将成为基于JavaScript的Web应用程序的后端,因此可公开访问,我不希望暴露某些细节,如类名等.
但是,我已经意识到在某些条件下MOXy在编组的字符串中嵌入了一个"@type"条目,这个条目后面跟着刚被编组的对象的类名.
特别是,我已经意识到MOXy在编组扩展类的实例时会以这种方式运行.
假设以下超类"MyBasicResponse"
@XmlRootElement(name="res")
public class MyBasicResponse {
@XmlElement
private String msg;
public MyBasicResponse() {
// Just for conformity
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
Run Code Online (Sandbox Code Playgroud)
而这个专门(扩展)类"MySpecialResponse"
@XmlRootElement(name="res")
public class MySpecialResponse extends MyBasicResponse {
@XmlElement
private String moreInfo;
public MySpecialResponse() {
// Just for conformity
}
public String getMoreInfo() {
return moreInfo;
}
public void setMoreInfo(String moreInfo) {
this.moreInfo = moreInfo;
}
}
Run Code Online (Sandbox Code Playgroud)
所以,MyBasicResponse对象的编组字符串是
{"msg":"A Message."} …Run Code Online (Sandbox Code Playgroud) 目前我在简单的Android应用程序工作,我已经尝试了在iphone中的字符串范围,它的作品,但我在Android应用程序中不知道这个?在iPhone中:
result = "mobile - check balance | rate: 0.036"
if ( [result rangeOfString:@"rate:"].location != NSNotFound)
{
}
Run Code Online (Sandbox Code Playgroud)
如何在Android中转换这个,请帮帮我
如果有人知道如何在java应用程序中不使用运行时或ProcessBuilder来运行unix命令,我感兴趣
我想在 mac 上安装 libtools。我去了苹果开发者网站并下载了 .dgm,该文件为 Mountain Lion 下载了 Xcode 的 cmdline 工具。
但是当我去终端并输入 libtools 时,它说找不到 bash 命令。
有人可以告诉我如何在 mac 上安装 libtools。
我在pom.xml中定义数据时尝试遵循最佳实践,所以我开始研究Spring源代码,我看到:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<packaging>jar</packaging>
<version>3.1.1.RELEASE</version>
.....
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
---
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
-----
Run Code Online (Sandbox Code Playgroud)
但是,spring-bean也依赖于log4j.
你能告诉我,对于最佳实践方法,你应该在多大程度上依赖传递依赖?
我问这个是因为我的第一个想法是不重新声明log4j依赖,因为spring-beans已经声明了它.
我正在尝试在Java中实现匈牙利算法。我有一个NxN成本矩阵。我正在逐步遵循本指南,并已达到第9步-
“通过选择一组零来选择匹配项,以便每一行或每一列都只有一个被选择。”
我已经有了0的矩阵。我试图弄清楚这一点,对我有用的唯一方法是蛮力方法。
我还想到选择遇到的第一个0,删除该列和行并重复;但是这种方法不起作用。
有什么技巧或方法吗?不太复杂的东西吗?任何建议将不胜感激。
谢谢
java ×4
algorithm ×1
android ×1
classpath ×1
eclipselink ×1
javascript ×1
jax-rs ×1
jaxb ×1
json ×1
macos ×1
maven ×1
moxy ×1
polymorphism ×1
range ×1
runtime ×1