关于 java equals() 问题????
importjava.util.ArrayList;publicclassPingPang{Stringa,b,c;publicstaticvoidmain(String...
import java.util.ArrayList;
public class PingPang {
String a,b,c;
public static void main(String[] args) {
String[] op = { "x", "y", "z" };
ArrayList<PingPang> arrayList=new ArrayList<PingPang>();
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++) {
PingPang a=new PingPang(op[i],op[j],op[k]);
if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")
&&!a.c.equals("x")&&!a.c.equals("z")){
arrayList.add(a);
}
}
for(Object a:arrayList){
System.out.println(a);
}
}
public PingPang(String a, String b, String c) {
super();
this.a = a;
this.b = b;
this.c = c;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "a的对手是"+a+","+"b的对手是"+b+","+"c的对手是"+c+"\n";
}
}
a.a.equals(a.b)&&!a.b.equals(a.c)/////这是什么意思,尽量详细点、、、
ArrayList<PingPang>///////这也不懂、、、、 展开
public class PingPang {
String a,b,c;
public static void main(String[] args) {
String[] op = { "x", "y", "z" };
ArrayList<PingPang> arrayList=new ArrayList<PingPang>();
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++) {
PingPang a=new PingPang(op[i],op[j],op[k]);
if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")
&&!a.c.equals("x")&&!a.c.equals("z")){
arrayList.add(a);
}
}
for(Object a:arrayList){
System.out.println(a);
}
}
public PingPang(String a, String b, String c) {
super();
this.a = a;
this.b = b;
this.c = c;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "a的对手是"+a+","+"b的对手是"+b+","+"c的对手是"+c+"\n";
}
}
a.a.equals(a.b)&&!a.b.equals(a.c)/////这是什么意思,尽量详细点、、、
ArrayList<PingPang>///////这也不懂、、、、 展开
4个回答
展开全部
上面代码,a.a是指PingPang对象a中的字符串属性a,equals()函数是用于两个字符串的比较,那么a.a.equals(a.b)&&!a.b.equals(a.c)就是指PingPang对象a中的字符串a==b并且b!=c时候的条件;
ArrayList是List的子类,是个集合类,是个数组集合或叫动态数组,而ArrayList后面的<>就是指定为泛型类的,也就是说指定一个类型的集合,ArrayList<PingPang>就可以理解为有一个动态数组,而这个数组里面的所有数据类型为PingPang.
ArrayList是List的子类,是个集合类,是个数组集合或叫动态数组,而ArrayList后面的<>就是指定为泛型类的,也就是说指定一个类型的集合,ArrayList<PingPang>就可以理解为有一个动态数组,而这个数组里面的所有数据类型为PingPang.
展开全部
就是a.a等于a.b并且a.b不等于a.c
ArrayList<PingPang>就是一个里面放着PingPang类数据的ArrayList
ArrayList<PingPang>就是一个里面放着PingPang类数据的ArrayList
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PingPang a=new PingPang(op[i],op[j],op[k]);
PingPang是一个类,a是它的对象,a这个对象里面有个叫a的String变量,a.a.equals(a.b)就是判断a对象里的a变量是否等于a对象里的b变量。
ArrayList<PingPang> arrayList=new ArrayList<PingPang>();
我不太懂,形式上像是在初始化一个对象。
PingPang是一个类,a是它的对象,a这个对象里面有个叫a的String变量,a.a.equals(a.b)就是判断a对象里的a变量是否等于a对象里的b变量。
ArrayList<PingPang> arrayList=new ArrayList<PingPang>();
我不太懂,形式上像是在初始化一个对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ArrayList<PingPang> 这是一个泛型数组,意思是里面只能装 PingPang这种类型的实体Bean。
if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")&&!a.c.equals("x")&&!a.c.equals("z"))
意思:如果a下面的a字段的数据与a下面的b字段的数据不是同一个内存地址和a下面的b字段的数据与a下面的c字段的数据不是同一个内存地址和a下面的a字段的数据与X数据不是同一个内存地址和a下面的c字段的数据与X数据不是同一个内存地址和a下面的c字段的数据与X数据不是同一个内存地址的话就执行arrayList.add(a),让数据添加a这个对象。
if(!a.a.equals(a.b)&&!a.b.equals(a.c)&&!a.a.equals("x")&&!a.c.equals("x")&&!a.c.equals("z"))
意思:如果a下面的a字段的数据与a下面的b字段的数据不是同一个内存地址和a下面的b字段的数据与a下面的c字段的数据不是同一个内存地址和a下面的a字段的数据与X数据不是同一个内存地址和a下面的c字段的数据与X数据不是同一个内存地址和a下面的c字段的数据与X数据不是同一个内存地址的话就执行arrayList.add(a),让数据添加a这个对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询