数组无法在Java中动态调整大小。
一种方法是使用java.util.ArrayList(或java.util.Vector)代替本机数组。
另一种方法是重新分配大小不同的数组,然后将旧数组的内容复制到新数组。
class ResizableArray { public static void main (String[] args) { int[] a = {1, 2, 3}; a = (int[])resizeArray(a, 5); a[3] = 4; a[4] = 5; for (int i=0; i<a.length; i++) System.out.println(a[i]); } private static Object resizeArray (Object oldArray, int newSize) { int oldSize = java.lang.reflect.Array.getLength(oldArray); Class elementType = oldArray.getClass().getComponentType(); Object newArray = java.lang.reflect.Array.newInstance(elementType, newSize); int preserveLength = Math.min(oldSize, newSize); if (preserveLength > 0) System.arraycopy(oldArray, 0, newArray, 0, preserveLength); return newArray; } }
1 2 3 4 5
问题内容: 您好,我有一个QR码图像,我想调整它的大小,当我尝试使用此代码将其调整为小图像时,我总是得到模糊的图像,并且扫描时QR码不再有效,但是当我使用相同的代码将大小调整为大尺寸图像时,它可以正常工作: 有什么问题,我不清楚,请至少给我一个提示,谢谢。 问题答案: 我使用仿射变换来完成此任务,这是我的代码,希望对您有所帮助
问题内容: 我来自C ++背景,并且习惯于使用此类的东西。假设我想要这些的动态数组: 这样做的标准方法是什么? 摘要非常有用 问题答案: 使用内置 例: 有关附加的更多信息,请参考规范。
我一直试图创建一个带有文本的浮动操作按钮,但我无法: 设置按钮中文本的颜色 当我把文本做得太小时,它会变得模糊。 我下面的尝试不起作用。 我可能做错了什么?
问题内容: 我们可以在Java中调整数组的大小吗?如果没有,请解释一下: 问题答案: 就我而言,调整数组大小是不可能的。 要了解代码为什么起作用,您需要了解数组是引用类型。持有对实际数组的引用,如下所示: 在这一行: 最终,您对数组对象不做任何事情。您基本上是在说: 嘿。我不希望您再保留 该 参考。放开并保持 该 引用(这是一个长度为2的数组)! “那么长度为1的原始数组对象会发生什么?” 你问。
我正在尝试使用Java Swing将文本区域放入对话框中。我有一个问题,设置这个jTextArea的大小。文本区域的宽度总是等于窗口的整个宽度,如果我调整窗口的大小,它会随着窗口拉伸。 我希望JTextArea与窗口的中心水平对齐,并且不改变其大小。 我做错了什么?
我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。