草庐IT

stream-builder

全部标签

java - 我们需要 Builder 模式中的 .build() 方法吗?

我对“EffectiveJava”中介绍的“BuilderPattern”有疑问。我们是否需要.build()方法来正确实现模式?例如,假设我们有以下类:publicclassCoffeeDrink{privateintnumEspressoShots;privateshortmilkType;privatebooleanwithWhip;privateCoffeeDrink(){}publicstaticCoffeeDrinkbuildNewDrink(){returnnewCoffeeDrink();}publicCoffeeDrinkwithEspresso(intn){this

java - 解开 builder 模式的疑惑

我正在学习构建器模式,到目前为止我了解到,它是用于初始化的常用模式的一个很好的替代方案:伸缩构造函数模式JavaBean模式问题是,我真的不喜欢从我的域模型中的对象中删除getter和setter。我总是喜欢将它们保留为POJO。我不喜欢它的原因之一是:如果我不使用POJO,那么在使用ORM框架时注释变量并不容易...所以这是我的疑惑:-是否可以在不使用静态内部类的情况下实现构建器模式?-如果我必须通过使用内部类来使用构建器模式,你认为保留getter和setter是否正确?-我做了一个练习的小例子,我试图避免内部类。你能告诉我你怎么看吗?产品publicclassProduct{pr

java - Arrays.stream(array) 与 Arrays.asList(array).stream()

在this问题已经回答了两个表达式是相等的,但在这种情况下它们会产生不同的结果。对于给定的int[]分数,为什么会这样:Arrays.stream(scores).forEach(System.out::println);...但这不是:Arrays.asList(scores).stream().forEach(System.out::println);据我所知,.stream()可以在任何集合上调用,列表肯定是。第二个代码片段只返回一个包含整个数组而不是元素的流。 最佳答案 您看到的行为并非特定于Stream秒。Arrays.a

java - IntelliJ 14 + Lombok 插件 + @Builder = 错误

我的IntelliJ14和Lombok注释“@Builder”有问题。我有一些类(class):@Getter@BuilderpublicclassTransactionFilter{privateStringname;privateProductTypeproduct;...publicstaticTransactionFilterBuilderdefaultBuilder(){TransactionFilterBuilderbuilder=builder();builder.product(ProductType.DEFAULT);returnbuilder;}}我正在尝试在另一个

java - 卡夫卡 : Cant Create Multiple Stream Consumers

我刚刚启动并运行了Kafka0.8beta1。我有一个非常简单的示例启动并运行,问题是,我只能让一个消息消费者工作,而不是几个。也就是说,runSingleWorker()方法有效。run()方法不起作用:importkafka.consumer.ConsumerIterator;importkafka.consumer.KafkaStream;importkafka.consumer.ConsumerConfig;importkafka.javaapi.consumer.ConsumerConnector;importjava.util.Map;importjava.util.Lis

Java 流 : distinct() on a pre-sorted stream?

如thisquestion中所述,执行distinct()当运行时知道要对其操作的流进行排序时,它能够使用更有效的算法。如果我们知道流已排序(例如,因为它来自外部预先排序的数据源,例如带有orderby子句的SQL查询)但不是没有这样标记?有一个unordered()删除排序标志的操作,但据我所知,没有办法告诉系统数据已从外部排序。 最佳答案 例如,您可以围绕现有集合创建拆分器:Listlist=Arrays.asList(1,2,3,4);Spliteratorsp=Spliterators.spliterator(list,Sp

java - 使用 Java 8 Streams 根据常见条件从两个不同列表创建 map

我有两个这样的列表实例:ListnameAndAgeList=newArrayList();nameAndAgeList.add(newNameAndAge("John","28"));nameAndAgeList.add(newNameAndAge("Paul","30"));nameAndAgeList.add(newNameAndAge("Adam","31"));ListnameAndSalaryList=newArrayList();nameAndSalaryList.add(newNameAndSalary("John",1000));nameAndSalaryList.a

java - 具有许多参数的类,超出了 Builder 模式

上下文假设您有一个组件,有很多选项可以修改它的行为。考虑一个具有排序、过滤、分页等功能的数据表。选项可以是isFilterable、isSortable、defaultSortingKey等。当然会有一个参数对象来封装这一切,姑且称之为TableConfiguration。当然我们不想有一个巨大的构造函数,或者一组伸缩构造函数,所以我们使用了一个builder,TableConfigurationBuilder。示例用法可以是:TableConfigurationconfig=newTableConfigurationBuilder().sortable().filterable().

java.io.IOException : Stream closed 异常

对于多张图片检索,我调用一个带有anchor标记的PhotoHelperServlet来获取imageNames(多张图片),如下所示PhotoHelperServlet获取Images的名称protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//GettinguseridfromsessionImageimage=newImage();image.setUserid(userid);ImageDAOimageDAO=new

java - 理解 Stream.generate 静态方法签名的问题

Java为什么不选择这个签名StreamStream.generate(Suppliersupplier)在这个StreamStream.generate(Suppliersupplier)?我的意思是下面的例子(不编译)作为String的供应商是正确的s在CharSequence的流中也有效不是吗?SupplierconstantHello=()->"Hello";longcount=Stream.generate(constantHello).count(); 最佳答案 这是一个错误。参见https://bugs.openjdk