草庐IT

java - 在Java中按值复制对象列表

我有一个类在其构造函数中获取一个对象列表,List.每次列表都可以由来自不同类型的元素组成。这是通用的东西,我不知道他们的类类型是什么。在让用户更改其值之前,我想为自己保存一份该列表的副本。但是由于复制是通过引用完成的,因此两个列表(原始和副本)都在更改...如何按值复制我的列表? 最佳答案 你的问题不清楚。如果您想要一个浅拷贝(即包含对原始列表中对象的引用的列表副本,则clone方法可以完成这项工作,在List实现类上复制构造函数。如果您想要深拷贝(即包含原始对象副本的列表副本),那么最好的办法是创建一个新列表并用原始列表元素的克

java - 如何在 Java 中按频率生成声音?

如何在Java中按频率生成自己的声音?我会玩WAV文件或MIDI文件,但现在我不需要这个。我想创建一个简单的吉他程序,我想用这个程序来演奏和弦。但是我不知道如何让和弦发出声音。我可以用自己的吉他录制它们​​,但这不是我想要的,我想生成声音!一些示例代码是什么样的? 最佳答案 吉他声音通常是使用Karplus-Strong的一些变体在软件中合成的算法。根据您的要求,有许多音频输出库,但您可以startwithjavax.sound.sampled. 关于java-如何在Java中按频率生成

java - 如何在 Java 9 中按类获取模块名称?

如何在Java9中按类获取模块名称?例如,让我们考虑以下情况。有两个命名模块-ModuleA和ModuleB。ModuleA对ModuleB一无所知。ModuleB需要ModuleA。ModuleA包含类:publicclassClassA{publicvoidprintModuleName(Classklass){//howtogetherenameofthemodulethatcontainsklass?}}ModuleB包含类:publicclassClassB{publicvoiddoIt(){ClassAobjectA=newClassA();objectA.printMod

java - 在 Spring Data JPA 中按类型查询

我有抽象类:@Entity@Inheritance(strategy=InheritanceType.JOINED)publicabstractclassA{...}和一些扩展类,例如:@EntitypublicclassBextendsA{...}我还有第三个实体:@EntitypublicclassC{@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)privateAobjectA;...}问题是,我如何在C实体存储库中构造SpringDataJPA查找器以仅查询扩展A所需类型的对象? 最佳答

java - 如何在 Java 8 中按另一个列表的元素对列表的元素进行分组

我有以下问题:给定这些类,classPerson{privateStringzip;...publicStringgetZip(){returnzip;}}classRegion{privateListzipCodes;...publicListgetZipCodes(){returnzipCodes;}}使用Java8StreamAPI,如何获取Map>基于是否Region包含Person的邮政编码?换句话说,我如何根据邮政编码属于这些地区的人对地区进行分组?我已在Java7中以老式方式完成此操作,但现在我必须迁移代码以利用Java8中的新功能。谢谢,动力

java - 如何在 JPA 中按 count() 排序

我正在使用这个JPA查询:SELECTDISTINCTe.labelFROMEntityeGROUPBYe.labelORDERBYCOUNT(e.label)DESC我没有得到任何错误,结果排序几乎正确,但有一些值是错误的(两个值被翻转或一些单个值完全错位)编辑:将COUNT(e.label)添加到我的SELECT子句解决了这个查询的这个问题。但在同样包含WHERE子句的类似查询中,问题仍然存在:SELECTDISTINCTe.label,COUNT(e.label)FROMEntityeWHERETYPE(e.cat)=:categoryGROUPBYe.labelORDERBYC

java - 如何在 hibernate 实体中按多列定义索引?

早上好。我需要在hibernate实体中添加索引。据我所知,可以使用@Index批注为单独的列指定索引,但我需要为多个实体字段创建索引。我用谷歌搜索并找到了jboss注释@Table,它允许这样做(根据规范)。但是(我不知道为什么)这个功能不起作用。可能是jboss版本低于必要的版本,或者我不明白如何使用这个注释,但是......没有创建复杂的索引。为什么不能创建索引?jboss版本4.2.3.GA实体示例:packagesomepackage;importorg.hibernate.annotations.Index;importjavax.persistence.Column;im

java - 在 Java 8 中按时间段解析 ISO 日期

我想用Java8DateTimeAPI替换JodaTime。我有ISO-8601期间描述=P2W5DT11H8M在JodaTime中,我通过执行以下代码非常简单地解析它:Period.parse("P2W5DT11H8M")我得到了成功的Period对象。我可以在Java8中做同样的事情吗? 最佳答案 Java8中的Period只有年/月/日组件。Duration具有小时/分钟/秒组件。看来您需要手动解析字符串。一个选项可能类似于下面的代码(您需要添加输入验证等)-可能有更好的选择。publicstaticvoidmain(Stri

java - 在 Eclipse 中按下停止按钮时,finally() 会被调用吗?

我确定这个问题之前已经在这里问过,但是在谷歌和这里搜索之后我找不到任何东西。这是我的情况,我有多个线程写入一个文件,一个主线程创建一个打印编写器并处理创建文件并在try/catch循环中的finallyblock内关闭打印编写器。当我在eclipse中运行该应用程序时,我会按下停止/终止按钮,并且该文件没有写入任何内容。我想确保我在这里所做的一切都是正确的,或者是否有更好的方法来在执行终止时处理关闭打印编写器。哎呀,如果有更好的方法来处理多个线程写入一个文件,我欢迎您提出这个建议(我现在的多线程编程非常糟糕)。 最佳答案 final

java - 使用 Java 在 Elasticsearch 中按查询更新

我目前正在使用ElasticsearchV2.3.1。我想在Java中使用以下Elasticsearch查询。POST/twitter/_update_by_query{"script":{"inline":"ctx._source.List=[‘Item1’,’Item2’]”},"query":{"term":{"user":"kimchy"}}}上述查询搜索名为“kimchy”的“用户”,并使用给定值更新“列表”字段。此查询同时更新多个文档。我在这里阅读了有关Java的更新APIhttps://www.elastic.co/guide/en/elasticsearch/clien