草庐IT

immutables-library

全部标签

Java 不可变对象(immutable对象)

关闭。这个问题需要更多focused.Itisnotcurrentlyacceptinganswers.想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.Closed8yearsago.ImprovethisquestionIamlearningtheconceptofimmutability.Iunderstandthatimmutableobjectscannotchangetheirvaluesoncetheobjectiscreated.ButIdidn'tunderstandthefollowingusesofimmutableobjects.Th

java - 以编程方式(或替代方案)设置 Djava.library.path?

我希望以编程方式设置VM参数Djava.library.path。如果无法做到这一点,有什么替代方案(如果有的话)? 最佳答案 用这个方法很容易解决:publicstaticvoidaddLibraryPath(StringpathToAdd)throwsException{FieldusrPathsField=ClassLoader.class.getDeclaredField("usr_paths");usrPathsField.setAccessible(true);String[]paths=(String[])usrPat

java - JNA UnsatisfiedLinkError - 当我将 java.library.path 设置为虚假值时有效

在Linux上使用JNA4.0.0,我试图加载一个本地库(libmean.so),它位于lib子目录中(该库是只是一个计算两个数字的平均值的简单示例)。我运行以下代码(在Eclipse中),在运行配置中设置了-Djna.library.path=lib。importcom.sun.jna.Library;importcom.sun.jna.Native;publicclassMean{publicinterfaceMeanLibextendsLibrary{MeanLibINSTANCE=(MeanLib)Native.loadLibrary("mean",MeanLib.class)

java - IllegalStateException 适用于不可变对象(immutable对象)吗?

你会扔一个IllegalStateException吗?如果:由于一个或多个字段的值,方法无法完成其工作这些字段是final并且只在构造函数中赋值?教科书示例:您的类是不可变的Collection并且您的方法应该返回最大元素,但此实例为空。我已阅读KevinBourillon`sblogpost关于这个主题,我不确定适用哪条规则。UnsupportedOperationException-thismeansthatthemethodinvokedwillalwaysfailforaninstanceofthisclass(concretetype),regardlessofhowthe

java - 创建 TessBaseAPI 时出现 UnsatisfiedLinkError : no jnilept in java. library.path

我是javacpp和tesseract-ocr的新手。我在几个小时内遇到了一个问题。我在创建TessBaseAPI时收到UnsatisfiedLinkError:nojnileptinjava.library.path。下面是我的代码片段。publicstaticvoidtesseractForPdf(StringfilePath)throwsException{BytePointeroutText;TessBaseAPIapi=newTessBaseAPI();//gettingtheUnsatisfiedLinkErrorexceptionhere.//Initializetess

java - 设置 java.library.path 进行测试

其中一个测试使用了本地库:System.loadLibrary("mylib");libmylib.so位于/usr/local/lib,所以我在配置VM选项中添加这个目录:-Djava.library.path=/usr/local/lib但是,当我使用Maven运行测试时,此行抛出UnsatisfiedLinkError:nomylibinjava.library.path在没有这个选项的情况下调用Java:/usr/lib/jvm/java-8-oracle/bin/java-Dmaven.home=/opt/idea/plugins/maven/lib/maven3-Dclas

java - 不可变对象(immutable对象)不会使用带有模块的 Java 9 生成代码

使用immutables-library在我将module-info.java添加到项目之前,Java9可以正常工作,将不再生成Immutables*.java。我按照IntelliJ的建议在模块信息中添加“需要值”。我缺少什么,是immutables-library问题还是我需要设置的其他内容,以便javac找到注释处理。我正在使用Maven,maven-compiler-plugin:3.7.0配置为target/source=9。 最佳答案 您遇到的问题是您没有将Immutable部分配置为注解处理器,应该这样做:4.0.0e

java - h : c: f: and ui: denote in JSF tag library? 到底是做什么的

在JSF和Facelets标签中,这些前缀到底是什么?h:c:女:界面:例如:h:headc:catchf:eventui:decorate等 最佳答案 前缀用于将标记限定为属于特定标记库或在XML中称为命名空间。前缀以某种方式在JSF页面的顶部声明(如何取决于您使用的是JSP还是Facelets)。“h”通常对应于HTML库,但您可以使用任何您想要的字母(或单词)作为前缀。常见的映射是:hhttp://java.sun.com/jsf/htmlfhttp://java.sun.com/jsf/corechttp://java.su

java - 缓存方法导致不可变对象(immutable对象)

假设我有一个表示复数的简单接口(interface),它的实例是不可变的。为了简洁起见,我省略了明显的plus、minus、times和divide方法,它们只会创建并返回一个新的不可变实例。publicinterfaceComplex{doublereal();doubleimaginary();doubleabsolute();doubleangle();}现在的问题是,将其实现为不可变类的最佳方法是什么?最简单直接的“我只在性能出现问题时才关心它”的方法是将实部和虚部存储为最终字段,并在每次调用这些方法时计算绝对值和角度。这使类保持小而简单,但显然最后两个方法每次都返回相同的结果

java - ANT:如何修改构建文件中的 java.library.path

java.library.path属性似乎是只读的。例如,当您在以下构建文件上运行antjava.library.path=${java.library.path}some.other.property=${some.other.property}你得到>ant-versionApacheAntversion1.6.5compiledonJune22005>ant-Djava.library.path=commandlinedefinedpathBuildfile:build.xmlshowprops:[echo]java.library.path=commandlinedefined