Java 8 函数总是返回相同的值而不考虑参数

2023-11-24

Java 8 中是否有一个预定义的函数可以执行以下操作:

static <T, R> Function<T, R> constant(R val) {
    return (T t) -> {
        return val;
   };
}

为了回答人们关于为什么我需要这个函数的疑问,这是我尝试将整数解析为罗马数字时的实际用法:

// returns the stream of roman numeral symbol based
// on the digit (n) and the exponent (of 10)
private static Stream<Symbol> parseDigit(int n, int exp) {
    if (n < 1) return Stream.empty();
    Symbol base = Symbol.base(exp);
    if (n < 4) {
        return IntStream.range(0, n).mapToObj(i -> base);
    } else if (n == 4) {
        return Stream.of(base, Symbol.fifth(exp));
    } else if (n < 9) {
        return Stream.concat(Stream.of(Symbol.fifth(exp)),
            IntStream.range(5, n).mapToObj(i -> base));
    } else { // n == 9 as n always < 10
        return Stream.of(base, Symbol.base(exp + 1));
    }
}

我猜IntStream.range(0, n).mapToObj(i -> base)可以简化为类似的东西Stream.of(base).times(n - 1), 不幸的是,这儿没有times(int)流对象上的方法。有谁知道怎么做吗?


一个简单的 lambda,x -> val似乎与你的方法等效;

Function<Integer, Integer> test1 = constant(5);
Function<Integer, Integer> test2 = x -> 5;

...应用时都忽略输入并输出常数 5;

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

Java 8 函数总是返回相同的值而不考虑参数 的相关文章

  • Vaadin框架播放视频

    我可以使用 Vaadin Framewotk 播放视频吗 主要思想是从本地驱动器加载 flv 或 avi 格式的视频文件 并使用 vaadin 框架在网络上播放 谢谢 Sampler中有一个示例 http demo vaadin com s
  • 要导入什么才能使用@SuppressFBWarnings?

    要使用 SuppressFBWarnings 需要导入什么 我通过帮助 安装新软件安装了 findbugs 插件 当我输入 import edu 时 我无法按 ctrl space 来获取选项 Example try String t nu
  • 为什么在java中加载JNI是在静态初始化程序中完成的?

    在许多使用 JNI 的示例中 我看到类似以下内容 class SampleClass static System loadLibrary somelib 这种特殊语法的目的是什么 为什么使用这个 而不仅仅是在类构造函数或类似的东西中 我想你
  • 如何在 TestNG 报告中包含 Log4j2 消息

    我希望在所有测试用例的 TestNG 报告中提供 Log4j2 日志记录信息 TestNG 使用一个名为 Reporter java 的特殊记录器类来跟踪日志输出并将其保存在其结果 XML 中 在 log4j 中 可以简单地创建一个路由到
  • 使用 IntelliJ 调试 Java 进程 - 连接到套接字但不连接到目标 VM

    现在已解决 请参阅问题末尾 我正在尝试使用 IntelliJ Community Edition 的调试器来调试 Java 进程 套接字正在侦听 但是当我尝试连接时 调试过程显示以下内容 连接到目标虚拟机 地址 8003 传输 socket
  • java - IBM-IEEE 双精度浮点字节转换

    我需要在 Java 中对字节数组进行 IBM IEEE 浮点转换 我能够使用成功地进行单精度浮点字节的转换http www thecodingforums com threads c code for converting ibm 370
  • 结果显示图像上有衬里

    我正在使用 opencv 和 android ndk 下面是我的 jni 代码 void Vignete Mat img1 Mat img2 Mat out resize img1 img1 img2 size img1 convertTo
  • Java 线程 JavaDoc

    我编写了一个只能在特定线程上调用的方法 是否应该将标准注释或注释添加到方法的 javadoc 中来表示这一点 不知道有任何这样的标准注释 Java 并发实践 http www javaconcurrencyinpractice com 在第
  • 自 Java 7 以来 HttpServer 延迟 1 秒

    我们正在使用内部HttpServer项目中的类 用于通过 HTTP 在客户端和服务器之间交换数据 当我们切换到 Java 7 时 我们意识到结果交付存在延迟 我们可以将问题简化为以下示例 Class EchoServer创建上下文 echo
  • 如何在 Jersey RESTful Web 服务中放置 cookie?

    我想通过 Jersey API 将 cookie 从 PUT webservice result 放置到 POST webservice 这是我的代码 WebResource service1 client resource http te
  • .NET 中的 Class.forName() 等效项?

    动态获取对象类型然后创建它的新实例的 C 方法是什么 例如 如何在 C 中实现以下 Java 代码的结果 MyClass x MyClass Class forName classes MyChildClass newInstance Lo
  • 有没有办法使用 SauceLabs 的 RemoteWebDriver 禁用 CORS 检查

    问题说明了一切 我正在尝试在 SauceLabs 上执行一些硒测试 该测试加载一个发出跨域请求的网页 我在想是否有一种方法可以通过代码以独立于平台的方式禁用 CORS 使用时Chrome驱动程序 Chrome组合禁用cors questio
  • 用于计算句子中单词数的正则表达式

    public static int getWordCount String sentence return sentence split a zA Z0 9 a zA Z0 9 1 length sentence replaceAll a
  • android.R.layout.simple_list_item_1是什么?

    在我看到的所有示例中 他们在创建 ArrayAdapter 时仅使用 android R layout simple list item 1 android R layout simple list item 1是什么 它只是一个名为sim
  • 通过命令行增加Java中的MaxPermSize内存

    您能否解释一下如何增加此 PermSpace 大小 我正在使用 Gate 应用程序并加载大量数据和大量插件 不幸的是每次运行后都会出现有关内存不足 maxPermSpace 的错误 我到处搜索 但我找不到如何通过命令行增加这个大小 或者可能
  • ClassNotFoundException:在嵌入了 cxf 依赖项的 OSGi 包中找不到 org.glassfish.jersey.internal.RuntimeDelegateImpl

    这与jax rs 2 0 更改默认实现 https stackoverflow com questions 17366266 jax rs 2 0 change default implementation我有一个 OSGi 包 其中包含
  • 通过命令行参数更改默认的 ant 目标

    最近我被分配了一个任务 让ant能够为不同的环境构建war包 除了一项功能外 我几乎完成了 蚂蚁接受一个env参数类似 Denv DEV 并使用不同的配置文件来制作war包 但默认目标是start它将构建 部署并启动 tomcat 我不希望
  • 需要澄清令人困惑的 Http4s 消息类型 `Response[F]` / `Request[F]`

    我很难理解为什么Request and Response参数化为F 类似的东西是猫效应数据类型资源 从文档中 https typelevel org cats effect docs std resource https typelevel
  • 删除子类中的注释?

    我有一个子类 需要一个注释 在删除的父类中声明 做这个的最好方式是什么 public class Parent MyAnnoation String foobar public class Child extends Parent here
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具

随机推荐

  • 设置十六进制和十进制颜色的行为不同

    我试图通过以下方式设置橙色 WorkSheet Range A1 A5 Interior color 49407 and WorkSheet Range A1 A5 Interior color HC0FF Hex value of 494
  • 如何将 SelectManyCheckbox 与两个 ArrayList 一起使用? - Primefaces

    我正在尝试实现一个
  • PyMC 3 中的生存分析

    我尝试移植简单的生存模型从这里 介绍中的第一个 从 PyMC 2 到 PyMC 3 但是 我没有找到任何与 观察到的 装饰器等效的东西 并且我尝试编写新发行版失败了 有人可以提供一个例子 这是如何在 PyMC 3 中完成的吗 这是一个棘手的
  • 从 NSFetchedResultsController 设置 UITableView 标头

    我有一个NSFetchedResultsController这是从 a 中获取对象NSManagedObjectContext 我正在使用结果来填充 UITableView 我正在用这两个排序描述符进行过滤 NSSortDescriptor
  • 子类 string.Formatter

    在此发表评论 如何定义新的字符串格式化程序 我尝试子类化string Formatter 这是我所做的 不幸的是我似乎在这个过程中打破了它 import string from math import floor log10 class C
  • 编写用户脚本时,立即调用函数表达式 (IIFE) 模式真的有必要吗?

    我的问题非常类似于javascript中自执行函数的目的是什么 但是它涉及用户脚本 特别是 GreaseMonkey 我发现有些用户脚本是按照这种模式分发的 有些则不是 具有 IIFE 模式的脚本示例 source UserScript U
  • 文件正在被另一个进程使用

    我有一个程序大致可以做到这一点 打开一个文件并从中读取 关闭文件 启动文件观察程序来观察文件中的更改 一旦检测到更改 文件观察器的 EnableRaisingEvents 标志就会设置为 false 并且该过程从步骤 1 开始重复 问题是
  • Python打印unicode列表

    用下面的代码 lst u u5de5 u u5de5 msg repr lst decode unicode escape print msg I got u 工 u 工 如何删除前导u使得内容msg is 工 工 gt gt gt imp
  • 如何在 Cocoa / Objective-C 中将文件编码和解码为 Base64

    我目前正在尝试让一个小型肥皂客户端工作 其中包括在请求的 xml 中发送证书文件 我可以轻松地将文件放入 NSData 对象中 但随后我必须将其转换为某个 Base64 字符串 环境是Mac OSX Xcode 4 3 我发现很多较旧的帖子
  • 如何访问 Nuxt 插件中的 .env 变量?

    细分分析提供了一个包含秘密 API 密钥的代码片段 在我的Nuxt js项目我创建了一个名为的插件segment js我在我的nuxt config js nuxt config js plugins src plugins segment
  • Flutter中的shrinkWrap属性有什么作用?

    我是 Flutter 的新手 非常渴望学习这项技术 我无法理解的工作shrinkWrap财产在ListView 我无法理解颤振文档 通常是一个ListView 也GridView PageView and CustomScrollView
  • Java如何利用多核?

    JVM 在单个进程中运行 JVM 中的线程共享属于该进程的堆 那么JVM如何利用多核提供多OS线程来实现高并发呢 您可以通过多个线程来利用多个核心 但是使用比机器中存在的核心数量更多的线程可能只是浪费资源 您可以使用可用处理器 获取核心数量
  • Cython 的 language_level 3 和 3str 有什么区别?

    在即将推出的 Cython 3 0 版本中 3strlanguage level 它是随着赛通0 29 成为新的默认值而不是当前的默认值2 即如果未设置 language level 如何设置 我们收到以下警告 FutureWarning
  • ImageMagick 将色彩空间缩减为灰色

    我使用以下命令将 RGB 和 CMYK TIFF 图像转换为 RGB JPEG convert a tif colorspace rgb a jpg 如果 TIFF 图像仅包含灰色像素 则生成的 JPEG 颜色空间为灰色 而不是 RGB 如
  • 在循环中收集未知数量的结果

    如果事先不知道最终结果的数量 那么在 R 循环中收集结果的惯用方法是什么 这是一个玩具示例 results vector integer i 1L while i lt bigBigBIGNumber if someCondition i
  • MySQL 查询执行但抛出异常

    My code try sql Driver driver sql Connection con sql Statement stmt Create a connection driver get driver instance con d
  • C# 控制台同时输入和输出?

    我正在编写一个服务器应用程序 我希望它基于控制台 我需要用户能够输入不同的命令 但同时用户在写入时有可能会向控制台输出某些内容 这会弄乱缓冲区 有什么干净的方法可以做到这一点吗 Thanks 我开始编写一个测试程序 以展示如何将控制台分为输
  • CGContext pdf页面宽高比适合

    我正在使用代码在 CGContext 上显示 pdf 页面 void drawLayer CALayer layer inContext CGContextRef context CGContextSetRGBFillColor ctx 1
  • XAMPP for Windows 中 mysql 客户端“.my.cnf”的位置是什么?

    mysql客户端的位置在哪里 my cnf在 Windows 中使用 XAMPP 澄清 这个文件默认不存在 那么当你创建它时 你应该把它放在哪里 以便命令行客户端自动读取它 输入 mysql help 然后看输出 大约 3 4 处有一段文字
  • Java 8 函数总是返回相同的值而不考虑参数

    Java 8 中是否有一个预定义的函数可以执行以下操作 static