public class Test { public static void main(String[] args) { Person person=new Person("张三"); change(person); System.out.println(person.name); } public static void change(Person person) { Person person2=new Person("李四"); person=person2; } } public class Person { String name; public Person(String name) { this.name = name; } }
答案:张三。原因是change的方法又创建了一个对象,是不同的对象,所以不能改变name的值。
public class Test2 { public static void main(String[] args) { Thread thread=new Thread() { public void run() { pong(); } }; thread.run(); System.out.print("ping"); } public static void pong() { System.out.print("pong"); } }
答案:pongping。线程会先执行。
public static int getIndexOfArray(float[] f) { int rtn=-1; float objf=3.4; List list=null; for (int i = 0; i < f.size(); i++) { list.add(f[i]); } for (int i = 0; i < list.size(); i++) { float temp=(float) list.get(i); if(objf==temp) { rtn=i; } } return rtn; }
以上代码有哪些错误?
答案:1)3.4改为3.4f,这里需要进行强转;
2)f.size()改为f.length,数组的长度用length属性;
3)list=null 要改为new ArrayList<>();不然list.add会报空指针异常。
原文:https://www.cnblogs.com/zys2019/p/11650529.html