方法重复输出

2024-01-12

对 sling 和 Java 来说还很陌生,所以我提前道歉。但是有人知道为什么当我在根目录时它会输出 我的路两次?奇怪的是它只发生在绝对根处。

public static String generateTest(Page page, Page rootPage, String bc) {

    Page parent = page.getParent();

    String bread = ""; 
    bread += (parent != null) ? "<li><a href=" + parent.getPath() + ">" + parent.getTitle() + "</a>" : "";
    bread += "<li>" + "<a href=" + page.getPath() + ">" + page.getTitle() + "</a></li>" + bc;
    return (ifAtRoot(parent , rootPage)) ? breadcrumb : generateTest(parent, rootPage, bread);

}

public static boolean ifAtRoot(Page page, Page root) {
    return (page == null || root.getPath() == page.getPath());
}

任何帮助是极大的赞赏!


First, ifAtRoot()仅当以下情况时才会返回 truepage is null因为你不能使用比较对象(包括字符串)==。你应该使用.equals()反而:

public static boolean ifAtRoot(Page page, Page root) {
    return (page == null || root.getPath().equals(page.getPath()));
}

在你的情况下,首先调用ifAtRoot()false,所以你称之为第二次递归传递brend刚刚创建的。第二次调用创建brend再次并追加bc(包含之前创建的品牌)。第二次调用ifAtRoot()因为你的运气会回来。否则你会进入无限递归并以StackOverflowError.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

方法重复输出 的相关文章

  • 如何最大限度地提高服务器性能?

    我一直在努力了解性能和可扩展性 并想知道开发人员 系统管理员正在做什么来提高他们的系统的效率 为了标准化答案 如果您能尽力回答以下任一问题 将会有所帮助 Profile Magazine publication on Joomla Jobs
  • “java.net.MalformedURLException:未找到协议”读取到 html 文件

    我收到一个错误 java net MalformedURLException Protocol not found 我想读取网络上的 HTML 文件 mainfest uses permission android name android
  • GWT - 如何组织项目以拥有多个网页以及它们之间的导航

    我是 GET 的新手 顺便说一句 它给我留下了深刻的印象 并且发现它对于像我这样熟悉 C NET 桌面技术并愿意编写 Web 应用程序的人来说非常有吸引力 我根据 GWT Eclipse 向导生成的示例启动了自己的项目 该项目生成带有面板的
  • Spring Boot自动装配存储库始终为空[重复]

    这个问题在这里已经有答案了 每次我进入我的服务类时 存储库似乎都没有自动连接 因为它不断抛出 NullPointerException 谁能帮我检查一下我缺少什么吗 这是我的代码 演示应用程序 java package com exampl
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 如何在代理后面安装 Eclipse Neon

    对于 Neon Eclipse 附带了一个安装程序 我在安装程序中找不到任何配置菜单 我的java版本是 java version java version 1 8 0 72 Java TM SE Runtime Environment b
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 迭代列表的奇怪速度差异

    我创建了两个重复两个不同值的长列表 在第一个列表中 值交替出现 在第二个列表中 一个值出现在另一个值之前 a1 object object 10 6 a2 a1 2 a1 1 2 然后我迭代它们 不对它们执行任何操作 for in a1 p
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • Java实现累加器类,提供Collector

    A Collector具有三种通用类型 public interface Collector
  • 流中的非终结符 forEach() ?

    有时 在处理 Java Stream 时 我发现自己需要一个非终端 forEach 来触发副作用但不终止处理 我怀疑我可以用 map item gt f item 之类的方法来做到这一点 其中方法 f 执行副作用并将项目返回到流中 但这似乎
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将

随机推荐

  • PDF JS - 延迟加载?

    看来 pdf js 本身请求 PDF 文件的整个字节范围请求 相反 是否可以在 PDF 加载时仅请求 5 页 在滚动时可以加载另一组 5 页 就像那样 有没有办法通过使用 pdf js 来实现此目的 长话短说 不 PDF 不是连续的存储格式
  • 计算中心的经纬度坐标

    I m looking for a elegant solution that calculates the center between several latitude longitude questions tagged latitu
  • std::stringstream 运算符>> 无法将字符串转换为浮点数

    我不明白为什么第二个 gt gt 失败 我做错了什么或者遗漏了一些代码吗 std ifstream file std stringstream ss std string str float f1 f2 file open file txt
  • 异常的生命周期是否受到嵌套处理程序的影响?

    考虑以下代码片段 struct ExceptionBase virtual std exception struct SomeSpecificError virtual ExceptionBase struct SomeOtherError
  • NodeJS 服务器无法从外部访问

    我在Rackspace中部署了一个nodejs服务器 可以在内部访问 例如使用 curl http 127 0 0 1 8080 但是 即使我这样做 也无法从外部 互联网 访问它 iptables A OUTPUT p tcp dport
  • 被释放的指针未分配用于指针分配

    我试图将 ListNode 结构更改为类格式 但在测试它时遇到了一些问题 获取 a out 7016 malloc 对象 0x7fff65333b10 的错误 正在释放的指针未分配 在malloc error break中设置断点进行调试
  • 如何使用 GDB 在 Android 上调试 Dalvik 可执行文件?

    我想使用GDB调试Android应用程序 我没有源代码并且我习惯了GDB 有人知道该怎么做吗 看来我需要附加到应用程序的进程并使用 gdbserver 但我还没有真正找到关于如何做到这一点的好教程 Thanks 可能没有分步教程 但人们一直
  • gcc5.1的新libstdc++可能会分配大堆内存

    valgrind 在使用 gcc5 1 编译的空程序中检测到 仍然可达泄漏 g a cpp int main 瓦尔格林德说 valgrind a out 32037 HEAP SUMMARY 32037 in use at exit 72
  • JEdi​​torpane 与 JTextPane

    我必须为我的大学创建一个 java swing 项目 java 文件的编辑器 具有适当的文本突出显示 即不同的颜色和字体java关键字 java注释并为普通文本 帮助我选择两种样式的文本组件之一J编辑器面板 and 文本窗格由java提供
  • Vue.js 未知的自定义元素

    我是 Vue js 的初学者 我正在尝试创建一个可以满足我的日常任务的应用程序 并且我遇到了 Vue 组件 下面是我尝试过的 但不幸的是 它给了我这个错误 vue js 1023 Vue warn 未知的自定义元素 你是吗 正确注册组件 对
  • 如何在 json 数组中搜索值,然后如果找到值则删除索引

    我得到了这个 json 字符串 我需要解析它并从中删除数据 但我不确定如何处理它 假设我有以下 json
  • 尝试使用 where 条件进行选择时出现“错误请求:无法限制 PRIMARY KEY 部分 to_id”

    这是我的聊天应用程序的 cassandra 表 CREATE TABLE tax keyspace dev chat messages message text when timestamp from id text to id text
  • MvcContrib 便携式区域查看 Intellisense?

    我已经开始使用 MvcContrib 项目中的可移植区域 除了 Visual Studio Intellisense 之外 一切都运行良好 有没有人能够让他们的 View intellisense 工作 html 我也无法在同一项目中创建的
  • 忽略异步任务方法的返回值

    场景如下 在我的 WPF 应用程序中 我希望保持一个始终运行的循环来执行各种操作 我想到了这种模式 void MainWindow OnLoaded object sender RoutedEventArgs e SomeProcessAs
  • asyncio 可等待对象 - 基本示例

    我试图了解如何制作一个可等待的对象 定义来自文档 https www python org dev peps pep 0492 await expression states 具有返回迭代器的 await 方法的对象 在该定义的指导下 我编
  • 如何在同一个 println“System.out.println”中打印这两个变量

    我有两个int变量 abdou1 and abdou2 我希望打印这些值 我在下面尝试过 但不起作用 public class Math1 public static void main String args int abdou1 115
  • 忽略 testng 中的一个类

    当我运行我的 testng 套件时 有一些测试类需要被忽略 我尝试对需要忽略的类和方法使用 Test enabled false 注释 但我的问题是 需要忽略的类扩展了一个抽象类 并且即使我在基类上有 Test enabled false
  • Hello world 不在 IntelliJ Idea 中运行

    我使用 Eclipse 工作了很多年 决定尝试 IntelliJ Idea 后 Bua 也简单的 java Hello World 无法运行 这根本就是什么也没发生 我应该检查 调整什么 谢谢 package test Created wi
  • Sublime Text 3 subl 命令在 Windows 10 中不起作用

    当我运行 subl 命令时 它只是暂停了一会儿 没有给我任何关于发生了什么的反馈 也没有打开 我目前在 Windows 10 上运行最新的 Sublime Text 3 版本 我已经将 subl exe 从 sublime text 3 目
  • 方法重复输出

    对 sling 和 Java 来说还很陌生 所以我提前道歉 但是有人知道为什么当我在根目录时它会输出 我的路两次 奇怪的是它只发生在绝对根处 public static String generateTest Page page Page