有一个equals()重写的问题书上给的答案是这样的,可小弟就是编译不出来,麻烦各位看一下
class Movie
{
int year;
String name;
public boolean equals (Object obj)
{
if (obj instanceof Movie)
{
{ Movie m=(Movie)obj;}
if (name.equals(m.name)&&year==m.year))
{
return true;
}
}
return false;
}
}
class Movie
{
int year;
String name;
public boolean equals (Object obj)
{
if (obj instanceof Movie)
{
{ Movie m=(Movie)obj;}
if (name.equals(m.name)&&year==m.year))
{
return true;
}
}
return false;
}
}
解决方案 »
- 高手给我看看是哪配置错了?????
- 方法要传一个 File 对象,那么是直接传 File 对象呢?还是传 .getAbsoluteFile 呢?两者有区别吗?
- 看书经常看到什么堆,栈,是什么东西啊?
- 我想做一个两头都可以进出的容器,但有代码出错,谁帮我看看?
- 怎么用RandomAccessFile在指定位置追加
- 求一个Java初级问题..
- 请问REISE的配置文件在哪里?
- 从ftp下载文件的IO问题。(根据情况加分)
- ¥¥¥我在SWING程序中启动另一个线程,如何让它在屏幕右下角显示一个该线程正在运行的图标?
- 请问能否把任何类型数据转换为一种类型,然后从这种类型又转换回去?例如:int>>Object Object>>int
- [新手]在面板上排列文字???
- 手机应用软件开发还需要学jsp吗
花括号去掉
2. if (name.equals(m.name)&&year==m.year))
后面多了个小括号
3:if (name.equals(m.name)&&year==m.year)) 是name的值如果和传来的name相同并且year和传来的year相同就 return true;你的代码改写为:
class Movie
{
int year;
String name;
public boolean equals (Object obj)
{
private Movie m;//这个要定义在if外边 ,要不下边的if就调用不到
if (obj instanceof Movie){
m=(Movie)obj;
}
if (name.equals(m.name)&&year==m.year)){
return true;
}
return false;
}
}
两个if嵌套关系, 不是并列关系...
int year; String name; public boolean equals(Object obj) {
if (obj instanceof Movie) {
Movie m = (Movie) obj; if (name.equals(m.name) && year == m.year) {
return true;
}
} return false; }
}
{
int year;
String name;
public boolean equals(Object obj)
{
private Movie m;
if(obj instanceof Movie)
{
Movie m=(Movie)obj;
} if(name.equals(m.name)&&year==m.year)
{
return true;
}
return false; }
}