您可以使用Collections接口的unmodifiableList()方法使集合不可修改。
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Sample { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("JavaFx"); list.add("Java"); list.add("WebGL"); list.add("OpenCV"); System.out.println(list); List myList= (List) Collections.unmodifiableList(list); myList.add("Apache Hadoop"); System.out.println(myList); } }
输出结果
Exception in thread "main" [JavaFx, Java, WebGL, OpenCV] java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableCollection.add(Unknown Source) at collections_package.Sample.main(Sample.java:16)
问题内容: 使用JPA将实体设为只读的正确方法是什么?我希望我的数据库表永远不会以编程方式进行修改。 我想我知道我应该用锁定我的对象。从数据库检索后,是否可以使用注释使我的实体直接锁定?还是我必须弄乱并覆盖该特定实体的通用DAO? 问题答案: 一种解决方案是使用基于字段的注释,将字段声明为,并仅建议公共获取者。这样做,您的对象无法更改。 (此解决方案不是特定于实体的,它只是构建不可变对象的一种方法
和一个文件,其内容如下: 当我运行上面的代码时,它只读取。我只想使用读取多行。我不想使用或等,这可能吗?
我有一个需要压缩的文件列表,我正在使用ZipoutStream。 当我得到文件时,我将每个文件设置为只读。(我尝试过file.setWritable(false)和file.setReadOnly()) 原始文件被更改,但保存在zip中的文件不仅准备好了。我猜这是因为我必须使用FileInputStream将每个文件添加到zip中。 对于测试,我使用的是我在网上找到的示例代码。 有没有办法使压缩后
问题内容: 我试图将联系人保存在表中,但filechosser始终将其设置为所有文件。有没有办法我可以将其设置为仅接受.txt并将其设置为默认值或唯一选项。 问题答案: 您需要添加一个过滤器:
问题内容: 我在课堂上使用哪种方法,我想知道如何在特定的服务方法上使用只读。 我是否需要额外的定义与此服务的方法,或有另一种方式? 问题答案: 从Spring API 这里。 在评估方法的事务设置时,最派生的位置优先。 在下面的示例中,DefaultFooService类在类级别使用只读事务的设置进行注释,但是同一类中updateFoo(Foo)方法上的@Transactional注释优先于定义的
我有以下课程: 、 和 实现了一个通用接口。然后,在我的服务中,我自动连接类并获取地图。 有没有办法只自动连接地图,从而直接使用地图中的值?