【java – 如何创建具有可变对象作为引用的不可变类】教程文章相关的互联网学习教程文章

java-Hibernate自引用实体为非null列【代码】

我正在使用Hibernate 5和Spring 3.2.4.我正在设计一个User实体,我想在其中包含对创建该实体的用户的引用-因此是一个自我引用.自我引用本身并不太成问题,但我想将字段指定为非null.这可能吗?如果该字段为非null,因为该引用实体不存在,该如何在数据库中创建第一个条目? 例如:@Entity public class User {@Id@GeneratedValue(strategy = GenerationType.AUTO)@Column(name = "id")private Long User.id;@NotNullprivate String use...

Java RegEx用于解析引用的参数【代码】

在以下情况下需要Java regex模式: 情况1: 输入字符串:"a"火柴:a情况2: 输入字符串:"a b"火柴:a b情况3: 输入字符串:"aA Bb" cCc 123 4 5 6 7xy "\"z9" "\"z9$^"火柴:aA Bb cCc 123 4 5 6 7xy "z9 "z9$^情况4: 输入字符串:"a b c火柴:None - since the quotes are unbalanced, hence pattern match fails.情况5: 输入字符串:"a b" "c火柴:None - since the quotes are unbalanced, hence pattern match fails.情况6...

java-如何模拟超级引用(在超类上)?【代码】

有时,当我编写单元测试时,我应该模拟对超类的引用. 我读过这个问题:question 这个答案answer with DI建议重构代码.但我不能 如果超类方法足够大,则此答案another answer不适合.就我而言,我有很大的代码.是的,我知道它违反了SOLID OOD原则,但是我只应该编写测试.我没有足够的时间进行重构. 说的问题是4年前问的! 当前Mockito或Powermock是否可以解决此问题? 更新 代码示例:class BaseService { public void save() {// a lot o...

java-Hibernate Mapping中的错误“外键引用具有错误的列数.应该是2”【代码】

TRANSFORMATION表具有复合主键trans_id和版本.EXPRESSION表仅具有来自trans_id的外键引用,它没有版本列. 当我尝试通过JUnit保存到TRANSFORMATION时,出现错误提示.caused by: org.hibernate.AnnotationException: A Foreign key refering org.persistence.entity.Transformation from org.persistence.entity.Expression has the wrong number of column. should be 2at org.hibernate.cfg.annotations.TableBinder.bindFk(TableBin...

java-引用特定类型的任意对象的实例方法……无法与自定义类一起使用?【代码】

根据有关“方法参考”的文档,可以创建:Reference to an instance method of an arbitrary object of a particular type链接:https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html 我写了以下代码:public class App {public static void main(String[] args) {Function<String, String> f1 = String::toString;Function<String, String> f2 = App::toString; // Compilation error}public String toStrin...

java-在maven中,如何引用文件系统上该位置不存在的父pom?【代码】

我没有意识到这是可行的,但是显然是因为我继承的这个项目做到了.该项目的pom如下所示:<parent><groupId>my.group</groupId><artifactId>artifact</artifactId><relativePath>../parent/pom.xml</relativePath><version>1.0.14</version> </parent>我的文件系统上不存在“ ../parent/pom.xml”,但该项目的构建没有问题.甚至Intellij也感到困惑,并将这个relativePath标记为红色. 我知道这与我的?/ .m2 / settings.xml的配置方式有关...

java-Spring配置:2个具有相同类引用的bean【代码】

春季配置:我已经创建了2个Bean,它们引用的是同一类,但数据库会话不同.<bean id="abc1" class="abc"> <bean id="abc2" class="abc">现在有任何方法可以将ID为“ abc1”的bean设置为自动装配的默认bean,并在明确提及时使用abc2自动装配:@Autowiring @Qualifier("abc2") private abc obj;解:<bean id="abc1" class="abc" primary="true">使abc1默认为自动连线. 为了创建abc2的实例,我们可以使用以下命令:@Autowired @Qualifier("a...

“不能取消引用double” [Java lang.]【代码】

这个问题已经在这里有了答案: > int cannot be dereferenced 3个我不断收到错误:“double can not be dereferenced” in the boolean line (line 45)我从未见过此错误. inputdata.txt是一个文本文件,包含8个Item类输入.我想知道我的代码出了什么问题以及应该如何解决.import java.util.Scanner; import java.io.*; public class Item implements Comparable {public S...

java-jsonschema2pojo:引用相同类型的对象【代码】

我需要从JSON模式文件生成Java类,并遇到jsonschema2pojo.但是,在使用ref关键字时遇到了“问题”. 例如,如果我使用以下来自http://spacetelescope.github.io/understanding-json-schema/structuring.html#extending的架构:{"$schema": "http://json-schema.org/draft-04/schema#","definitions": {"address": {"type": "object","properties": {"street_address": { "type": "string" },"city": { "type": "string" },"s...

java-运行线程,直到取消引用对象/父对象

我有一个Java类,在实例化时需要一个并行运行的监视器.我想继续运行此监视器,直到实例不再运行或未被引用为止.通常,我倾向于使用活动标志作为变量,在关闭/关闭类时将其关闭,但是必须谨慎管理,并且在关闭时必须对其进行调用.我也知道Object的finalize成员,但是我记得使用它是不安全的还是出于此目的?另外,监视器当然可以具有对受监视对象的循环引用,但这可能是另一个问题.解决方法:您可能希望使用WeakReference在线程中监视对象.这使...

java-如何在嵌套类中恢复对此this $0的引用?【代码】

我想知道是否有一种方法可以“手动”恢复对$0的引用,换句话说,就是对嵌套类中的外部类的引用? 这意味着使用名称或methodOuterClass()或OuterClass引用外部类的任何方法或属性.this.Method()会导致NullPointerException. 由于下面列出的问题,例如Gson,构造对象而不引用外部类.创建对象后可以修复此问题吗? 参考文献 GSON does not deserialize reference to outer class using member of outer class in a inner class makes null...

java-IntelliJ IDEA快速引用的字符串加变量【代码】

IntelliJ IDEA具有完成功能,除了可以提高编码速度外,还可以保持编码的“流程”(始终向前发展).所以我想知道遇到以下情况(简化)时是否丢失了某些东西:System.out.println("The name of the user is " + userName);在自动完成System.out.println后,当我键入“ …的名称”时,IDEA已经生成了两个双引号,并在两个引号之间引起了我.现在,如果要在此字符串中包含一个变量,则当前使用右箭头键将光标移动到第二个引号之后,以键入userName.请...

java-具有原始和对象引用的System.arraycopy()浅表复制或深度复制【代码】

我在某处读到System.arraycopy确实为原始数据类型创建了一个新副本,并为对象引用创建了一个浅表副本. 因此,我以下面的代码开始了实验//trying with primitive values int a[] ={1,2,3}; int b[] = new int[a.length]; System.arraycopy(a,0,b,0,a.length); b[0] = 9; System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); //now trying with object references Object[] obj1 = {new Integer(3),new ...

java-自定义类方法的方法引用【代码】

我有以下代码:Map<String, ReportConfig> reportConfigMap = reportFactory.getReportConfigMap();List<String> resultList = reportConfigMap.values().parallelStream().filter(Utility::shouldReportVisibleToUser).map(ReportConfig::getName).collect(Collectors.toList());ReportConfig类代码public class ReportConfig implements Comparable<ReportConfig> {private String name;public String getName() {return name;}p...

java-为什么我不能通过内部类引用访问外部类数据成员?【代码】

class OuterClass1 {static private int a = 10;void get() {System.out.println("Outer Clas Method");}static class StaticInnerClass {void get() {System.out.println("Inner Class Method:" + a);}}public static void main(String args[]) {OuterClass1.StaticInnerClass b = new OuterClass1.StaticInnerClass();b.get();System.out.println(b.a);System.out.println(b.c);} }我知道静态嵌套类可以访问外部类的数据成员,所以...