java-object-diff:轻松进行diff和合并Java对象的库

上传者: 42114645 | 上传时间: 2023-02-20 15:21:47 | 文件大小: 376KB | 文件类型: ZIP
介绍 java-object-diff是一个简单但功能强大的库,用于查找Java对象之间的差异。 它需要两个对象并生成一个树形结构,该结构表示对象及其子对象之间的任何差异。 然后可以遍历此树以提取更多信息或将更改应用于基础数据结构。 产品特点 开箱即用,几乎可以处理任何种类的对象,并且可以任意深度嵌套 查找两个对象之间的差异 返回易于遍历的树形结构的形状差异 告诉您有关检测到的更改的所有信息 提供对基础对象的读写访问权,不仅使您能够提取更改的值,甚至还可以将差异作为补丁应用 不需要更改现有的类(在大多数情况下) 提供了非常灵活的配置API,可以根据您的需求量身定制一切 微小,直接但功能强大的

文件下载

资源详情

[{"title":"( 260 个子文件 376KB ) java-object-diff:轻松进行diff和合并Java对象的库","children":[{"title":"gradlew <span style='color:#111;'> 5.17KB </span>","children":null,"spread":false},{"title":"settings.gradle <span style='color:#111;'> 38B </span>","children":null,"spread":false},{"title":"CONTRIBUTING.md <span style='color:#111;'> 3.02KB </span>","children":null,"spread":false},{"title":"IgnoreIT.groovy <span style='color:#111;'> 2.13KB </span>","children":null,"spread":false},{"title":"AdditionIntegrationIT.groovy <span style='color:#111;'> 2.08KB </span>","children":null,"spread":false},{"title":"DeepDiffingCollectionItemChangeIT.groovy <span style='color:#111;'> 1.53KB </span>","children":null,"spread":false},{"title":"ObjectDifferIT.groovy <span style='color:#111;'> 11.27KB </span>","children":null,"spread":false},{"title":"CategoriesTestIT.groovy <span style='color:#111;'> 1.80KB </span>","children":null,"spread":false},{"title":"Issue38.java <span style='color:#111;'> 3.05KB </span>","children":null,"spread":false},{"title":"MapIssuesTest.groovy <span style='color:#111;'> 2.46KB </span>","children":null,"spread":false},{"title":"ObjectMergerIT.groovy <span style='color:#111;'> 1.50KB </span>","children":null,"spread":false},{"title":"Issue77IT.groovy <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false},{"title":"MainApp.java <span style='color:#111;'> 1.49KB </span>","children":null,"spread":false},{"title":"Person.java <span style='color:#111;'> 910B </span>","children":null,"spread":false},{"title":"TopHat.java <span style='color:#111;'> 1007B </span>","children":null,"spread":false},{"title":"Hat.java <span style='color:#111;'> 935B </span>","children":null,"spread":false},{"title":"Issue127Main.java <span style='color:#111;'> 2.69KB </span>","children":null,"spread":false},{"title":"IgnoreByPropertyNameIT.groovy <span style='color:#111;'> 1.77KB </span>","children":null,"spread":false},{"title":"Person.java <span style='color:#111;'> 582B </span>","children":null,"spread":false},{"title":"PersonDiffIT.groovy <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"EnterLeaveSequenceInconsistencyIT.groovy <span style='color:#111;'> 2.21KB </span>","children":null,"spread":false},{"title":"Issue43IT.groovy <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false},{"title":"CircularReferenceDetectionBasedOnIdentityIT.groovy <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"GraphIT.groovy <span style='color:#111;'> 15.91KB </span>","children":null,"spread":false},{"title":"GraphNode.java <span style='color:#111;'> 3.25KB </span>","children":null,"spread":false},{"title":"CircularReferenceIT.groovy <span style='color:#111;'> 2.43KB </span>","children":null,"spread":false},{"title":"CircularReferenceDetectionBasedOnEqualsIT.groovy <span style='color:#111;'> 1.75KB </span>","children":null,"spread":false},{"title":"ConcurrencyIT.groovy <span style='color:#111;'> 1.78KB </span>","children":null,"spread":false},{"title":"DiffNodeIT.groovy <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"AccessFieldAnnotationIT.groovy <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"TestAnnotation.java <span style='color:#111;'> 961B </span>","children":null,"spread":false},{"title":"ObjectDifferBuilderIT.groovy <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"IntrospectionAT.groovy <span style='color:#111;'> 3.58KB </span>","children":null,"spread":false},{"title":"HandlingPropertyAccessExceptionsAT.groovy <span style='color:#111;'> 3.46KB </span>","children":null,"spread":false},{"title":"Example2IT.groovy <span style='color:#111;'> 3.75KB </span>","children":null,"spread":false},{"title":"Example1IT.groovy <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false},{"title":"GettingStarted.java <span style='color:#111;'> 2.47KB </span>","children":null,"spread":false},{"title":"StarterGuide.java <span style='color:#111;'> 2.38KB </span>","children":null,"spread":false},{"title":"EqualsOnlyValueProviderMethodExample.java <span style='color:#111;'> 2.61KB </span>","children":null,"spread":false},{"title":"ByteArrayDiffer.java <span style='color:#111;'> 1.86KB </span>","children":null,"spread":false},{"title":"RuntimeTypeResolutionExample.java <span style='color:#111;'> 1.98KB </span>","children":null,"spread":false},{"title":"MapEntryValueAccessExample.java <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"CustomDifferExampleIT.groovy <span style='color:#111;'> 1.67KB </span>","children":null,"spread":false},{"title":"IgnoreExample.java <span style='color:#111;'> 2.07KB </span>","children":null,"spread":false},{"title":"CanonicalAccessorExample.java <span style='color:#111;'> 4.39KB </span>","children":null,"spread":false},{"title":"SimpleNodeExample.java <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false},{"title":"Contact.java <span style='color:#111;'> 2.87KB </span>","children":null,"spread":false},{"title":"PhoneBook.java <span style='color:#111;'> 2.39KB </span>","children":null,"spread":false},{"title":"PhoneNumber.java <span style='color:#111;'> 2.19KB </span>","children":null,"spread":false},{"title":"PhoneBookIT.groovy <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"IdentityStrategyIT.groovy <span style='color:#111;'> 5.16KB </span>","children":null,"spread":false},{"title":"IdentityStrategyAT.groovy <span style='color:#111;'> 2.61KB </span>","children":null,"spread":false},{"title":"ParentTypeBasedPropertyInclusionViaConfigAT.groovy <span style='color:#111;'> 4.75KB </span>","children":null,"spread":false},{"title":"ParentTypeBasedPropertyInclusionViaAnnotationAT.groovy <span style='color:#111;'> 4.90KB </span>","children":null,"spread":false},{"title":"InclusionAT.groovy <span style='color:#111;'> 5.51KB </span>","children":null,"spread":false},{"title":"PropertyInclusionViaInclusionResolverAT.groovy <span style='color:#111;'> 1.81KB </span>","children":null,"spread":false},{"title":"ExclusiveInclusionIT.groovy <span style='color:#111;'> 4.35KB </span>","children":null,"spread":false},{"title":"PhoneBookSetup.groovy <span style='color:#111;'> 2.37KB </span>","children":null,"spread":false},{"title":"InclusionIT.groovy <span style='color:#111;'> 7.44KB </span>","children":null,"spread":false},{"title":"DateComparisonIT.groovy <span style='color:#111;'> 1.52KB </span>","children":null,"spread":false},{"title":"logback-test.xml <span style='color:#111;'> 896B </span>","children":null,"spread":false},{"title":"CollectionItemElementSelectorTest.groovy <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"MapKeyElementSelectorTest.groovy <span style='color:#111;'> 2.51KB </span>","children":null,"spread":false},{"title":"RootElementSelectorTest.groovy <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"CategoryServiceTest.groovy <span style='color:#111;'> 2.83KB </span>","children":null,"spread":false},{"title":"DefaultNodeQueryServiceTest.groovy <span style='color:#111;'> 3.66KB </span>","children":null,"spread":false},{"title":"DiffNodeFieldAnnotationsTest.groovy <span style='color:#111;'> 3.99KB </span>","children":null,"spread":false},{"title":"PrintingVisitorTest.groovy <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false},{"title":"SomeFieldAnnotation.java <span style='color:#111;'> 899B </span>","children":null,"spread":false},{"title":"ToMapPrintingVisitorTest.groovy <span style='color:#111;'> 3.67KB </span>","children":null,"spread":false},{"title":"CategoryFilteringVisitorTest.groovy <span style='color:#111;'> 2.61KB </span>","children":null,"spread":false},{"title":"DiffNodeTest.groovy <span style='color:#111;'> 8.60KB </span>","children":null,"spread":false},{"title":"VisitTest.groovy <span style='color:#111;'> 1020B </span>","children":null,"spread":false},{"title":"IntrospectionServiceTest.groovy <span style='color:#111;'> 5.87KB </span>","children":null,"spread":false},{"title":"PropertyAccessorCollectionTest.groovy <span style='color:#111;'> 2.41KB </span>","children":null,"spread":false},{"title":"PropertyAccessorMapTest.groovy <span style='color:#111;'> 2.04KB </span>","children":null,"spread":false},{"title":"PropertyReadExceptionTest.groovy <span style='color:#111;'> 1.28KB </span>","children":null,"spread":false},{"title":"StandardIntrospectorTest.groovy <span style='color:#111;'> 3.67KB </span>","children":null,"spread":false},{"title":"DefaultPropertyAccessExceptionHandlerTest.groovy <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"PropertyAccessorTest.groovy <span style='color:#111;'> 6.40KB </span>","children":null,"spread":false},{"title":"PropertyAccessorBuilder.java <span style='color:#111;'> 2.22KB </span>","children":null,"spread":false},{"title":"PropertyWriteExceptionTest.groovy <span style='color:#111;'> 1.36KB </span>","children":null,"spread":false},{"title":"EqualsIdentityStrategyTest.groovy <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"NodePathTest.groovy <span style='color:#111;'> 5.43KB </span>","children":null,"spread":false},{"title":"NodePathValueHolderTest.groovy <span style='color:#111;'> 1.25KB </span>","children":null,"spread":false},{"title":"MapEntryAccessorTest.groovy <span style='color:#111;'> 3.85KB </span>","children":null,"spread":false},{"title":"RootAccessorTest.groovy <span style='color:#111;'> 1.54KB </span>","children":null,"spread":false},{"title":"CollectionItemAccessorTest.groovy <span style='color:#111;'> 5.74KB </span>","children":null,"spread":false},{"title":"InstancesTest.groovy <span style='color:#111;'> 9.00KB </span>","children":null,"spread":false},{"title":"ObjectWithHashCodeAndEquals.java <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false},{"title":"ObjectWithMap.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"ObjectWithIgnoredMap.java <span style='color:#111;'> 930B </span>","children":null,"spread":false},{"title":"ObjectWithEqualsOnlyPropertyType.java <span style='color:#111;'> 924B </span>","children":null,"spread":false},{"title":"ObjectWithInheritedPropertyAnnotation.java <span style='color:#111;'> 937B </span>","children":null,"spread":false},{"title":"ObjectWithoutDefaultConstructor.java <span style='color:#111;'> 803B </span>","children":null,"spread":false},{"title":"ObjectWithCircularReference.java <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"ObjectWithAccessTrackingIgnoredProperty.java <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false},{"title":"ObjectWithNestedObject.java <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"ObjectWithAnnotatedProperty.java <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false},{"title":"ObjectWithMethodEqualsOnlyValueProviderMethodOnGetCollection.java <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明