Tag: 对象

Java – 从列表/数组中的每个对象获取单个属性的最简单方法?

假设我有一个人物对象,其name , hair color和eye color等属性。 我有以下数组Person[] people ,其中包含人物对象的实例。 我知道我可以获得一个Person对象的name属性 // create a new instance of Person Person george = new Person(‘george’,’brown’,’blue’); // <<>> // access the name property String georgesName = people[0].name; 但是如果我想在不使用索引的情况下访问每个人的name属性呢? 例如,要创建一个只是名称或头发颜色的数组或列表? 我是否必须手动遍历我的peoplearrays? 或者像String[] peopleNames = people.name这样的Java有什么String[] peopleNames = people.name吗?

初始化2D对象数组时出现空指针exception

我正在尝试制作2D平铺游戏,当制作包含贴图的数组时,我得到一个NullPointerException,这里有一些代码。 对不起,如果这是格式不好,第一个计时器 公共课世界{ //holds data for where to place images and rectangles int[][] worldDat = new int[25][25]; //hold rectangles for checking interaction with player Rectangle[][] blocks = new Rectangle[25][25]; //holds block’s images to be painted Image[][] blockImage = new Image[25][25]; //holds position to be pained on screen int[][] location = new int[25][25]; //enumeration holding block’s […]

int 是一个对象吗?

看了一下,我似乎无法找到一个与此相同的问题。 我的问题是关于Java中的int[] 。 创建int[] ,使用以下语法: int[] x = new int[5]; 作为int[]一部分的方法也让我认为它是一个Object ,但它不遵循类的Java命名约定,这让我感到困惑。 它也是一个基本类型的数组,可以像基元一样使用。 是int[] (或者我猜的任何原始数组)是一个对象还是一个原语?

通过在Java中打印Object获得的信息是什么意思?

让我说我有这个代码: Integer[] a= new Integer[5]; System.Out.println(((Object)a).toString()); 输出是得到的 [Integer@89fbe3 89fbe3是什么意思? 这是某种地址吗? 哈希码? 它对每个物体都是独特的吗? ,如果是这样 – 如果它是一个multithreading程序,它仍然是唯一的吗? 谢谢 !

什么是subClass sc = new subClass()和superClass sc = new subClass之间的区别?

class superClass {} class subClass extends superClass{} public class test { public static void main() { superClass sc1 = new subClass(); subClass sc2 = new subClass(); //whats the difference between the two objects created using the above code? } }

从对象转换为原始类

我正在Object存储Entry类的实例。 Entry newentry = new Entry(j, 0.0); Object test = newentry; 如何将test对象转换回Entry类以访问Entry类方法getValue() ?

为什么允许将原始数据类型添加到ArrayList?

我知道可以将Integer对象添加到Integer类型的ArrayList中。 这对我来说很有意义。 喜欢这个: ArrayList list = new ArrayList(); list.add(new Integer(3)); 但为什么可以添加像int而不是Integer这样的原始数据类型? 喜欢这个: ArrayList list = new ArrayList(); list.add(3); 为什么允许?

Java字符串数组差异

我现在很无聊,正在做一些Java练习测试,因为我已经用Java编程了很长时间。 在一个问题之后,我现在想知道以下几点之间的区别: String[] test1 = { “A”, “B”, “C” }; String[] test2 = new String[]{ “A”, “B”, “C” }; String test3[] = { “A”, “B”, “C” }; String test4[] = new String[]{ “A”, “B”, “C” }; 当我在Java IDE中输入它时,我没有收到任何错误。 我还没有尝试编译它们中的任何一个(虽然我过去主要使用test2 ,所以我知道有一个工作)。 那么,这些都是编译吗? 如果是的话,有什么不同(如果有的话)? ( test1的性能是否比test2更好,因为你没有进行新的String[] -instantiation,或者这是在幕后完成的吗?) (如果test1与test3相同:为什么test3和test4存在于Java中,如果它与test1和test2相同?是否有任何情况下使用字段名后面的[]优先于类型后面?) (除了这四种之外还有更多(几乎相似)的变种吗?) (和其他问题一样。) 只是想出于好奇而知道。 我猜每天都会学到新东西。

在Java中删除游戏中的对象(eclipse)

让我们直接进入它,我有一个充满getter和setter的’handler’类,它包含添加和删除对象的代码,它看起来像这样: public void addObject(GameObject object){ this.object.add(object); } public void removeObject(GameObject object){ this.object.remove(object); 请注意,’GameObject’是一个类,所有对象都扩展该类 然后我在这里创建一个对象, if(mouseOver(mx, my, 840/2-100, 149, 200, 64)){ game.gameState = STATE.Game; handler.addObject(new Player(0, 300, ID.Player,game.playerImg, game)); handler.addObject(new BasicEnemy(700, 300, ID.BasicEnemy, game.enemyImg, game)); handler.addObject(new F1Jutsu(400, 300, ID.F1Jutsu, game.f1jutsuImg, game)); } 内部参数中的东西是我想要添加的对象的参数。 每个对象当然都是它自己的类。 现在我想删除对象F1Jutsu,如果它的x值在游戏之外,并且对象每秒向右移动(这样可行,所以我不会在这里粘贴它,如果被问到会这样做) if(x > 800){ handler.removeObject(this); } 我有一个’tick’函数(在F1Jutsu类中),就像一个run函数。 问题是,一旦调用removeObject方法,我得到一个nullpointerexception,出现以下错误: Exception in thread “Thread-2” […]

如何在Java中对对象数组(点)进行排序?

所以我想使用内置的排序方法,通过特定的坐标,比如x,对点数组进行排序。 我怎样才能做到这一点? 下面是一个示例代码: Point A[] = new Point[10]; // … Initialize etc. Arrays.sort(A, x-coordinate); Point Class中是否有内置的x坐标比较器? 如果没有,我该如何创建并使用它。 一个例子就是很棒。 谢谢。