草庐IT

弱引用

全部标签

java - 在 Spring Java 配置中引用 ${user.home}

这个问题在这里已经有了答案:Changeuser.homesystemproperty(2个答案)关闭9年前。在xml配置中,我可以执行以下操作:在java配置中,我将执行以下操作:/***@returna{@linkorg.springframework.context.support.PropertySourcesPlaceholderConfigurer}sothatplaceholdersarecorrectlypopulated*@throwsExceptionexceptionifthefileisnotfoundorcannotbeopenedorread*/@Beanp

Java将方法引用作为参数传递给其他方法

我正在尝试将A类的选定“get”方法传递给B类中的方法。我已经checkoutJavaPassMethodasParameter,但我无法以合理的方式采用接口(interface)方法来解决我的问题。我宁愿不使用java8(lambdas),如果可能的话也避免反射。我的感觉是,我以错误的方式看待我的问题。这是我要完成的具体简化示例:我有一个包含一些字段和获取方法的类:publicclassDataStore{privatefloata;privatefloatb;privatefloatc;publicfloatgetA(){returna;}publicfloatgetB(){ret

Java 对象引用/范围问题

如果我有这样的成员变量(在类的主体中声明)privateDot[]dots=newDot[numDots];我遍历这个数组的所有成员,并且:1)将每个Dot对象传递给另一个类的函数,该函数:2)如果满足某些条件,将它传递给第三类的另一个函数3)第三类改变了点对象的一些属性那么当这个对象返回给原始/父类时,那些对其属性的更改是否已经保留?或者它会被第二个/第三个函数视为局部变量吗? 最佳答案 是的,对属性的更改被保留。Java是100%按值传递的,但是,当您传递一个对象时,传递的“值”实际上是指向该对象的指针。因此,当您更改方法中的对

java - 在构造函数中使用对可重写方法的引用是否安全?

这个问题在这里已经有了答案:What'swrongwithoverridablemethodcallsinconstructors?(8个答案)关闭8年前。当我使用在构造函数中调用可覆盖方法的lambda添加事件监听器时,我收到警告。如果我使用方法引用,我不会收到任何关于可覆盖方法或泄漏此方法的警告。我应该避免在构造函数中引用方法还是安全的?这是一个简单的例子:publicclassSomeClass{publicSomeClass(SomeObjobj){obj.addListener(this::handleEvent);//nowarnings,isitreallysafe?ob

java - 我可以只在引用类型上使用泛型吗?

在编写Map代码时,我发现声明Map是语法错误,而Map没问题。是否只能在Java中实例化对象类型上的泛型,而不是原始类型?如果是这样,对基元的装箱/拆箱是否有明显的性能损失? 最佳答案 是的,您只能对泛型类型参数使用引用类型,而且是的,装箱/拆箱会导致一些性能损失(大部分情况下可以自动完成)。这是来自JavaGenericsFAQs的引述:Areprimitivetypespermittedastypearguments?No.Onlyreferencetypescanbeusedastypearguments.Aparamete

java - 想要创建一个过滤器来检查 cookie,然后从 Controller 保存对象和引用

我想创建一个过滤器,它将在我的任何springmvcController操作之前执行。我想检查cookie是否存在,然后只为当前请求在某处存储一个对象。然后我需要从我的Controller操作中引用这个对象(如果它存在)。关于如何做到这一点的建议? 最佳答案 要创建过滤器,只需创建一个实现javax.servlet.Filter的类,在您的情况下可以是这样的publicclassCookieFilterimplementsFilter{    publicvoiddoFilter(ServletRequestreq,ServletR

java - 继承方法返回引用类型

我遇到了thisquestion中描述的问题但想找到一个没有所有强制转换和@SuppressWarning注释的解决方案(如果可能的话)。更好的解决方案是通过以下方式建立在引用的解决方案之上:删除@SuppressWarning去除石膏此处提供的解决方案将根据标准获得2分。如果有超过2点的解决方案,赏金将用于解决方案中的大多数点数或“最优雅”的解决方案。 最佳答案 没有转换,没有@SuppressWarning,只有几行:publicabstractclassSuperClass>{protectedTthat;publicTcha

java - 可以用java中使用反射的方法引用替换

我在intellij中有这段代码:returncollection.stream().anyMatch(annotation->method.isAnnotationPresent(annotation));编译器告诉我“method.isAnnotationPresent(annotation)”可以用方法引用替换,我不知道该怎么做,因为它有一个参数。有人知道怎么做吗? 最佳答案 您可以替换您的代码以使用方法引用(查看here),如下所示:returncollection.stream().anyMatch(method::isA

java - 如何在 JSF 应用程序中引用文件资源

我想从bean动态引用XSD,这怎么可能?我已经将XSD添加到项目中,因此它位于GlassFish域中的某个位置。 最佳答案 使用ExternalContext。如果你想加载bean中的资源,通过getResource来完成或getResourceAsStream:InputStreamstream=FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/foo.xsd");如果要返回资源的URL,请使用getRequestContex

java - 如何使用 JDBC 引用/转义标识符,例如列名?

不同的数据库服务器使用不同的方式来引用和转义标识符。例如"foobar"vs`foobar`vs[foobar],或者"10"""vs"10\"",或者某些数据库需要引用FooBar或数组等标识符,而其他数据库则不需要。是否有任何API方法可以为给定的数据库连接正确执行引用/转义?或者任何替代解决方案? 最佳答案 看看DatabaseMetaData.getIdentifierQuoteString()我从未使用过它,但听起来不错:-)getExtraNameCharacters()也有一些帮助