草庐IT

multiple-variable-return

全部标签

java - 最佳实践 : instance variables filling over time

我是面向对象编程(在java中)概念的新手,我经常遇到以下设计问题:我经常创建带有在初始化时未知的实例变量的类。这些变量会随着时间的推移而填充。这不是一个真正的问题,因为这些变量在被填充之前都是空的,因此我的问题更多是关于这种情况下的最佳实践。我举个例子。我有一个类Car。每辆Car都有一个color、vMax、weight、horsepower等。当初始化Car时,只有它的color、weight和horsepower是已知的。-->汽车(颜色、重量、马力)现在可以计算vMax(比方说:weight/horsepower)。令我困惑的是,初始化后Car是“不完整的”,这意味着vMax

java - Spring MVC(RESTful API): Validating payload dependent on a path variable

用例:让我们使用POSTHTTP动词设计一个RESTful创建操作-创建票证,其中创建者(分配者)指定票证受让人我们正在以下位置创建一个新的“票”:/companyId/userId/ticket我们提供包含assigneeId的工单正文:{“受让人ID”:10我们需要验证assigneeId属于URL中的公司-companyId路径变量到目前为止:@RequestMapping(value="/{companyId}/{userId}/ticket",method=POST)publicvoidcreateTicket(@Valid@RequestBodyTicketnewTicke

java - Apache Kafka 1.0.0 Streams API Multiple Multilevel groupby

我如何在KafkaStreamsAPI中使用具有多个约束的.groupby。与下面的Java8StreamsAPI示例相同publicvoidtwoLevelGrouping(Listpersons){finalMap>>personsByCountryAndCity=persons.stream().collect(groupingBy(Person::getCountry,groupingBy(Person::getCity)));System.out.println("PersonslivinginLondon:"+personsByCountryAndCity.get("UK"

java - 带有 H2 数据库的 JUnit : Unique index or primary key violation when adding multilingual services for multiple data

Hibernate在创建数据库的过程中,在oe_iv_student_lang表中为外键id_student添加了唯一键约束,因为我们要实现Serializable接口(interface)导致Hibernate不允许我们在其对应的子表中添加具有相同父外键的多行。我附上了代码片段以便更好地理解..学生类(class):importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationT

java - 模拟/PowerMock : how to reset a mocked static variable in SUT?

我讨厌将单元测试引入遗留代码库,但我不得不这样做。到目前为止,我使用Mockito和PowerMock成功地将单元测试引入了遗留代码库。在我遇到这种情况之前工作得很好:在SUT中,有几个静态变量(我在PowerMock的帮助下模拟了它们,模拟静态方法和模拟构造函数)。现在在第一个测试方法中,一切正常,模拟的静态变量返回了预期的输出值。但是在随后的测试方法中,模拟的静态对象总是返回在第一次测试中设置的值,尽管我在测试之前确实对其调用了reset()。//legacycodebase:publicclassSUT{privatestaticCollaborator1c1=null;priv

java - java异常处理中的return语句

这个问题在这里已经有了答案:DoesafinallyblockalwaysgetexecutedinJava?(51个答案)Java'sreturnvalueintry-catch-finallymechanism(4个答案)关闭9年前。如果执行没有导致异常,那么控制将转到finallyblock。那么JVM忽略了tryblock中的return语句吗?。或者,如果发生异常,则控制转到那里的catchblock,它也忽略return语句,控制转到finallyblock并从finally返回publicclassHelper{publicintshowException(inta,in

java - "variable may not have been initialized"的设计合理性是什么?

这个问题在这里已经有了答案:Whymustlocalvariables,includingprimitives,alwaysbeinitializedinJava?(8个答案)关闭9年前。众所周知,在Java中需要在使用局部变量之前对其进行初始化(参见JLS)Alocalvariable(§14.4,§14.14)mustbeexplicitlygivenavaluebeforeitisused,byeitherinitialization(§14.4)orassignment(§15.26),inawaythatcanbeverifiedusingtherulesfordefinit

Java : How to return intermediate results from a Thread

使用Java7我正在尝试构建一个监视数据存储(某种集合类型)的观察者,然后在某些时候从中返回某些项目。在这种情况下,它们是时间戳,当时间戳超过当前时间时,我希望它返回到起始线程。请看下面的代码。@Overridepublicvoidrun(){while(!data.isEmpty()){for(LocalTimedataTime:data){if(newLocalTime().isAfter(dataTime)){//returnaresultbutcontinuerunning}}}}我读过有关future和callables的内容,但它们似乎会在返回时停止线程。如果使用可调用,我

java - DAO/存储库 : Good practice return value after insert/update

虽然这可能是一个微不足道的问题,但我一直想知道这个问题。通常,在插入数据库后,返回业务实体的ID似乎是常见的做法。@OverridepublicLongcreateUser(UserEntityuser){em.merge(user);em.flush();returnuser.getId();}返回id而不是业务对象引用本身是否有令人信服的理由?同样,我看到update返回void,但它也可能是一个id/User。如果我要编写一个DAO/Repository供其他人使用,建议的返回值是什么(如果有),为什么? 最佳答案 如果已成功

java - 注释 : methods vs variables

我一直确信(不知道为什么)最好为变量添加注释,但是在浏览Hibernate文档时http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-hibspec-collection我注意到他们倾向于注释方法。所以我应该把注释放在方法之前,像这样:@EntitypublicclassFlightimplementsSerializable{privatelongid;@Id@GeneratedValuepubliclonggetId(){returnid;}publicvoidsetI