如何在 Java 中对二维数组进行深层复制?

2023-11-25

我刚刚使用了一点.clone()在我的第二天booleanarray,认为这是一个深拷贝。

我怎样才能执行我的深度复制boolean[][] array?

我应该循环它并做一系列System.arraycopy's?


是的,您应该迭代二维布尔数组才能深度复制它。还看java.util.Arrays#copyOf方法(如果您使用的是 Java 6)。

我建议 Java 6 的下一个代码:

public static boolean[][] deepCopy(boolean[][] original) {
    if (original == null) {
        return null;
    }

    final boolean[][] result = new boolean[original.length][];
    for (int i = 0; i < original.length; i++) {
        result[i] = Arrays.copyOf(original[i], original[i].length);
        // For Java versions prior to Java 6 use the next:
        // System.arraycopy(original[i], 0, result[i], 0, original[i].length);
    }
    return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Java 中对二维数组进行深层复制? 的相关文章

  • 使用 Spring Data REST 处理自定义异常 (i18n)

    我正在使用 Spring Boot 1 5 4 和 Spring JPA Spring Data REST HATEOAS 我正在寻找一种最佳实践 Spring 方式 来自定义异常 Spring Data REST 正在管理添加 i18n
  • 如何测试调用父类的受保护(不需要的)方法的方法?

    我陷入了一个非常奇怪的情况 我有一些需要测试的特定代码 这里是 public class A The real method of real class is so big that I just don t want to test it
  • @OneToMany 与 @JoinTable 错误

    我试图理解 OneToMany with JoinTable 对于这样的场景 我正在使用 JPA 2 1 Hibernate 5 0 4 和 Oracle 11 XE 当我打电话时userDao save user 下面的代码 我有 jav
  • firebase推送通知错误Spring Boot服务器端

    我正在尝试从 Spring Boot 服务器端发送通知到客户端 android 服务器运行良好 一切都很好 2020 09 01 08 13 07 691 INFO 18941 restartedMain e DevToolsPropert
  • 如果基于 Spring 注解的控制器位于 jar 文件内,则该控制器无法工作

    我的子模块中有一些基于注释的控制器 这些模块作为 jar 文件部署 jar 文件中基于注释的控制器未加载到 spring 配置中 我使用 Eclipse 中的导出实用程序手动导出 jar 文件 有人遇到过这个问题吗 当您使用 Eclipse
  • Java Spring 应用程序存在内存泄漏。系统非堆内存不断增加

    我已使用 yourkit 分析器监视我的 Web 应用程序 保留最大大小的主要对象是 SessionFactoryImpl webappclassloader 和 CGlib 对象显示 spring crone调度程序会导致内存泄漏吗 我尝
  • 用 java 编写解释器时的 switch 或 if 语句

    当前的作业需要我编写一个程序 以一种非常微小且基本的编程语言 行为有点像 FORTRAN 来读取包含指令的文件并执行这些指令 基本上它是我猜的语言的简单解释器 它是完全线性的 所有语句都是按顺序定义的 并且只有字符串和整数变量 我需要查找和
  • 如何将自定义日志处理程序添加到 Google App Engine?

    我正在尝试向我的 java 应用程序添加自定义日志处理程序 我已经实现了一个扩展 java util Logging Handler 类的 InnerLogger 类 在我的logging properties中声明为处理程序 handle
  • 支持通过 OAuth 进行 Facebook/Twitter 身份验证的 CAS 服务器

    我正在寻找一个支持 Facebook Twitter 通过 OAuth 进行单点登录身份验证的 CAS 服务器 我检查过 JASIG CAS 服务器 但它看起来不支持它们 我的 java web 应用程序基于 Spring Security
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 使用Java开发跨平台,不同平台字体缩放不同

    我正在为我的大学制作一些软件 需要一个 GUI 在它的第一个版本中 我让它使用系统外观 因此它看起来像 Linux Mac Windows 中的本机应用程序 我发现这很麻烦 因为我必须根据操作系统使所有 JLabel 具有不同的大小 无论分
  • 在Java中多次读取System.in会导致IOException?

    我正在尝试创建一个小命令行游戏来强化我在过去几个月中在 Java 中学到的一些东西 我正在尝试创建一个名为 readInput 的方法 它返回一个我可以一次又一次调用的字符串 第一次它工作正常 但第二次它会导致 IO Exception 如
  • 如何使用云打印打印Android活动显示

    我正在尝试将 Google 云打印实现到应用程序中 遵循集成指南 https developers google com cloud print docs android 我试图通过打印 google com 来保持基本 单击我创建的打印按
  • 在服务器内部调用 Web 服务

    我有一个网络服务 getEmployee 当传递 id 时 它会获取单个员工的员工详细信息 同一服务器上的另一个 Web 服务 getEmployeeList 当传递一个部门时 它会获取整个员工列表 这将获取部门的 ID 然后调用 getE
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • 将带有 webapp 的 WAR 部署到 Maven 中央存储库是否有意义?

    这样做有意义吗 如果是 我在哪里可以找到使用简单的 Web Hello World 执行此操作的示例 当人们从 Maven 执行 Web 应用程序时 他们会使用 Jetty 来运行它吗 我想 tomcat 太重了 任何帮助将不胜感激 谢谢
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字

随机推荐

  • 保存更高分辨率的图表而不弄乱外观

    你们都必须原谅我的无知 因为我最近才开始使用 C 我只是有一个关于 Windows 图表控件的问题 因为我遇到了一个相当愚蠢的问题 我有一个程序 其中有一些报告 其中包括漂亮的窗口图表来表示一些数据 但是 我一直将这些图表保存到文件中以供各
  • Python 多处理中的子级与父级通信

    我正在编写一个 python 脚本 它将通过将行发送到不同的进程来处理来快速解析文件 最后 我希望父进程接收每个子进程的结果 然后能够对其进行操作 这是代码 usr bin env python import os import re fr
  • 在 Windows 上将 Anaconda 的根 Python 更新到更新的次要版本没有任何作用

    我在 Windows 上安装了 Anaconda 不是 miniconda Python 2 7 我想将安装的 Python 版本更新到最新的次要版本 2 7 9 我看到该版本可以在以下渠道中找到 conda配置为使用 然而 输入conda
  • 修改 NSEvent 以发送与按下的键不同的键

    我正在尝试创建一个 OS X 键盘挂钩用于辅助技术目的 即不用担心 不是键盘记录器 当用户按下某个键时 我想要prevent真正的按键和send而是一个假按键 我选择的角色 我有以下代码 void hookTheKeyboard CGEve
  • 在 C# 项目中包含 FSharp.Core:解决类型冲突

    我正在使用一些 F 类型 Matrix等 来自 C 因此我需要在我的 C 项目中引用 FSharp Core 程序集 到目前为止 一切都很好 但是 显然 mscorlib dll v4 中定义的某些类型在 FSharp Core v2 中
  • 自定义列表排序顺序

    我有一些清单 例如 mylist1 alpha green mylist2 blue alpha red 我想通过这个自定义排序列表对这两个列表进行排序 red blue green alpha so that mylist1 green
  • 寻找与多边形相交尽可能多次的射线

    这是一个有趣的练习 设 P 是一个简单但不一定是凸多边形 q 是不一定在 P 中的任意点 设计一种有效的算法来找到一条源自 q 且与 P 的最大边数相交的线段 换句话说 如果站在q点 你应该把枪瞄准什么方向 这样子弹才能穿过最多数量的墙壁
  • 选择底部导航选项卡后 Android 清除后退堆栈

    使用最新的导航组件与BottomNavigationView the NavController现在默认保存和恢复选项卡的状态 作为此更改的一部分 onNavDestinationSelected BottomNavigationView
  • 在 Windows 上通过计划任务加载 URL 的推荐方法

    我有一个托管在 Windows 机器上的网页 我需要确保每天至少加载一次 我当前的计划是创建一个计划任务 打开 Internet Explorer 并点击 URL C Program Files Internet Explorer iexp
  • 如何使用 FastAPI 从 HTTP 请求中获取 cookie?

    当有人点击 API 时是否可以获取 cookie 我需要读取每个请求的cookie app get async def root text str sessionKey str Header None print sessionKey re
  • AngularJS 的 batarang Chrome 扩展似乎已损坏

    我将这篇文章添加到了 Github 上类似 最近经历的长系列中 我希望这里有人能找到答案 哦 很好 我不只是愚蠢 尝试从书本上自学 Angular 当它调用使用 batarang 来显示一个小示例脚本的范围和模型时 我启动了 bataran
  • 将“物品”平均分配到桶中(尽最大努力)

    说我要分发y项目到x桶均匀 如果x是的倍数y这个分布将是均匀的 如果不是 我最终会得到0每个桶中的物品 例如 例如 我有3桶 我想分配2每个项目 自从做了分工 2 3 将导致0每个桶的物品 我怎样才能实现 分布1 1 0 这种思维方式应该有
  • 如何判断一个方法中调用了哪些方法?

    我想列出从特定方法调用的所有方法 例如 如果我有以下代码 public void test1 test2 test3 该列表应包含 test2 和 test3 如果可以列出同一类的方法以及另一个类的方法 那就太好了 另外 我想找到一种方法来
  • C#/Excel:解决图表上的最大系列大小

    我需要帮助以编程方式绘制比单个 Excel 系列所能容纳的更多点 根据http office microsoft com en us excel HP100738491033 aspxExcel 2007 图表上可显示的最大点数为 2560
  • Android 中的多级 ExpandableListView

    我正在尝试从给定的未知大小或级别的类别列表创建类别树 所以我试图创建一个通用的可扩展列表 其中可以包含 2 个以上的级别 总体思路是在其布局中向每个有子级的子级添加另一个 ExpandableListView 问题是第二个级别无法打开 看起
  • 在 @PostConstruct 期间使用 @Cacheable 的 Spring 缓存不起作用

    与spring框架中的commit相关https github com spring projects spring framework commit 5aefcc802ef05abc51bbfbeb4a78b3032ff9eee3 初始化
  • Spring Security 3.0.2 的 OpenId 身份验证和自动注册

    我正在使用 spring security 3 0 2 和 OpenId 登录和注册来实现一个应用程序 我可以成功登录 但如果用户未注册 我想要执行以下操作 1 获取一些 OpenId 属性 例如电子邮件和姓名 2 向用户显示仅包含这两个字
  • 如何列出 MySQL 中缓存的查询? (Qcache_queries_in_cache)

    显示 Qcache queries in cache 等状态返回 Variable name Value Qcache queries in cache 327 如何打印这些 327 查询 为了优化 mysql 缓存 我想尝试切换到 按需
  • 如何在 Scala 2.9.0 中实现 Hadoop Mapper?

    当我从 2 8 1 迁移到 Scala 2 9 0 时 除了 Hadoop 映射器之外 所有代码都可以正常运行 因为我有一些包装对象 所以我总结为以下示例 import org apache hadoop mapreduce Mapper
  • 如何在 Java 中对二维数组进行深层复制?

    我刚刚使用了一点 clone 在我的第二天booleanarray 认为这是一个深拷贝 我怎样才能执行我的深度复制boolean array 我应该循环它并做一系列System arraycopy s 是的 您应该迭代二维布尔数组才能深度复