草庐IT

some_container

全部标签

java - 为什么 ConcurrentSkipListSet.contains 需要比较器而不是等于

我正在使用ConcurrentSkipListSet并使用contains方法。根据包含方法的JAVA文档如果此集合包含指定元素,则返回true。更正式地说,当且仅当此集合包含满足o.equals(e)的元素e时才返回true。但是根据我的测试,似乎没有使用equals方法,而是必须使用Comparator。请帮助我理解JAVA规范和实现之间的这种异常情况并发跳过列表集/***如果使用比较器,返回一个ComparableUsingComparator,否则*将键转换为Comparable,这可能会导致ClassCastException,*传播回调用者。*/privateCompara

java - RxJava : observable that contains an asynchronous call

我试图理解RxJava并遇到以下情况。考虑以下返回调用NsdManager.registerService的可观察对象的方法。registerService方法需要一个监听器,当注册成功(或失败)时调用。publicObservableregisterService(){returnObservable.create(newObservable.OnSubscribe(){@Overridepublicvoidcall(Subscribersubscriber){nsdManager.registerService(serviceInfo,NsdManager.PROTOCOL_DNS

Java JLabel/JButton : on some systems I get "..." (an ellipsis) and on some systems I don't. 我怎样才能强制禁用省略号?

在大多数系统上,我的JLabel中的内容都能正常显示。它也以一种方式驻留,它应该总是足够大以显示其内容文本,因为我基本上是这样做的:label.setText(text);label.setFont(newFont(fontName,0,12));intwidth=label.getFontMetrics(label.getFont()).stringWidth(text);intheight=21;//thisshouldalwaysbeenoughlabel.setBounds(newRectangle(x,y,width,height));但是在某些系统上(不是我自己的,所以我真

java - Hibernate session.contains(类 clazz,序列化 id)

我希望能够检查session是否包含给定类/标识符的实体。我目前看不到执行此操作的方法。contains()接受一个实体对象而不是类+键get()如果实体不存在则查询数据库,这是我不想做的load()永远不会返回null,因为代理总是被创建,所以我不能使用这个方法是否可以在不对数据库产生副作用/查询的情况下执行上述操作? 最佳答案 这个有效:publicbooleanisIdLoaded(Serializableid){for(Objectkey:getSession().getStatistics().getEntityKeys(

Java jackson : Parsing a csv file into an object containing a List of objects

我正在尝试使用JacksonCsvParser将一个csv文件解析为一个对象,该对象还包含另一个类的列表。因此前两列包含需要绑定(bind)到父类的数据,之后的数据需要绑定(bind)到另一个类。publicclassPerson{privateStringname;privateStringage;privateListcarDetails;//Getters+setters}publicclassCarDetails{privateStringcarMake;privateStringcarRegistration;//Getters+setters}要解析的日志如下所示:John

java - log4j2-gelf "ERROR StatusLogger appenders contains an invalid element or attribute "GELF""

刚开始接触Graylog2,想通过GELF输入记录一些Java应用程序。因此我使用了库log4j2并添加了graylog2-gelfclient。满足所有依赖项并且程序正在运行。但是我的Logmanager的初始化抛出以下错误:ERRORStatusLoggerappenderscontainsaninvalidelementorattribute"GELF"我的代码只是将错误记录到记录器:staticfinalLoggerlogger=LogManager.getLogger(Application.class);publicstaticvoidmain(String[]args){

java - "error_description": "AADSTS70002: The request body must contain the following parameter: ' client_secret or client_assertion'

我使用了https://github.com/AzureAD/azure-activedirectory-library-for-java/blob/master/src/samples/public-client-app-sample/src/main/java/PublicClient.java中的代码.唯一的区别是CLIENT_ID已更新。我一直收到错误消息"error_description":"AADSTS70002:Therequestbodymustcontainthefollowingparameter:'client_secretorclient_assertion'

java - 为什么 HashSet<E> 在 contains() 和 remove() 中不将参数类型限制为 E

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhatarethereasonswhyMap.get(Objectkey)isnot(fully)genericWhydoesJava'sTreeSetremove(Object)nottakeanE为什么HashSet在这里不限制参数类型为E:publicbooleancontains(Objecto)publicbooleanremove(Objecto)就像add()一样publicbooleanadd(Ee)我的意思是,如果编译器强制只添加E类型的对象,则该集合不能包含/删除任何其他类型

java - 使用 hamcrest contains() 方法比较两个集合

我有两个集合,我试图在我的单元测试中比较它们是否相等,但我正在努力使用contains方法。这是我所拥有的:@TestpublicvoidgetAllItems(){CollectionactualItems=auction.getAllItems(joe);CollectionexpectedItems=Lists.newArrayList();expectedItems.add(iPhone);expectedItems.add(skateboard);assertThat(expectedItems,contains(actualItems));}items包含与expected

java - 获取 HashMap 中具有类似 'some value' 的键的键列表

在Mysql中我们可以查询一个有子句“WHEREnameLIKE'%someName%'”的表,我们是否可以在java中拥有与HashMap相同的功能,如果可以,我们如何更有效地实现这一点在更短的时间内不迭代每个元素? 最佳答案 如果您使用的是JavaSE8和新的StreamsAPI:有一个filter我认为这基本上就是您正在寻找的方法。例如类似(未经测试!):myMap.entrySet().stream().filter(entry->entry.getKey().contains("someName")).map(entry-