小编use*_*882的帖子

cbegin和vector之间有什么区别?

成员开始有两个超载,其中一个是const_iterator begin() const;.还有cbegin const_iterator cbegin() const noexcept;.它们都返回const_iterator到列表的开头.有什么不同?

c++ iterator stl vector

26
推荐指数
2
解决办法
2万
查看次数

通过多个字段进行匹配查询

我对弹性搜索很新,想写一个关注两个字段的查询.我的意思是字段的内容包含指定的子字符串.我有一个包含字段的文档,如下所示:

name: n
tag: t
Run Code Online (Sandbox Code Playgroud)

我试过这个:

/_search -d '
{
    "query": {
        "match": {
             "name": "n",
             "tag": "t"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但查询导致以下错误:

[match]查询以简化形式解析,带有直接字段名称,但包含的选项多于字段名称,可能使用'options'形式,带'query'元素?

有没有办法在elasticsearch中做到这一点?

nosql elasticsearch

21
推荐指数
1
解决办法
2万
查看次数

nonXADatasource与jta ="true"和XADataSource有什么区别?

令我感到困惑的是,我们可以允许将JTA事务与非XA数据源一起使用.链接到文档.那么XA /非XA数据源之间有什么区别?我们为什么要使用XA数据源呢?

java jboss datasource jta xa

17
推荐指数
2
解决办法
3万
查看次数

了解hibernate @Type注释

官方的hibernate文档:

@ org.hibernate.annotations.Type覆盖使用的默认hibernate类型:这通常不是必需的,因为Hibernate正确推断了类型

文档中有一个例子:

@Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")
@Columns(columns = {
    @Column(name="r_amount"),
    @Column(name="r_currency")
})
public MonetaryAmount getAmount() {
    return amount;
}
Run Code Online (Sandbox Code Playgroud)

我不明白.我们声明@Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")但方法的返回值具有类型MonetaryAmount.

我期望在类型注释中声明的类型和返回值的类型应该是相同的类型.

无法解释在@Type注释中声明的类型的实际目的.为什么它与返回的类型不同?

java hibernate

13
推荐指数
1
解决办法
2万
查看次数

如何通过名称调用getter方法?

我有以下bean类:

public class A{
        private String field;

        public String getField() {
            return field;
        }

        private String setField(String field) {
            this.field = field;
        }

    }
Run Code Online (Sandbox Code Playgroud)

以下课程:

    public class B{

         public static void main(String[] args){
             A a = new A();
             //do stuff
             String f = //get a's field value
         }
    }
Run Code Online (Sandbox Code Playgroud)

如何获取特定对象的getter返回的值class A?当然,我可以调用方法,Method.invoke(Object obj, Object... args)但我不想"get"手动编写前缀.有可能避免这种情况吗?

java methods getter

10
推荐指数
2
解决办法
3万
查看次数

在常量时间内连接两个java.util.LinkedList

我正在处理一些非常热的代码,我需要将one LinkedList(l1)的元素添加到另一个LinkedList(l2).

它不可能使用addAll(Collection)方法Iterator来迭代整个方法Collection.

在我看来,它应该是可以只设置最后Nodel1指向第一Nodel2.但我找不到合适的方法吗?我需要自己的LinkedList实现来实现吗?

java collections linked-list

10
推荐指数
2
解决办法
2585
查看次数

如果toList返回空列表,则收集器返回singletonList

我有一个很大的流管道,因此希望保持清洁.我有以下部分更大的管道

Integer defaultInt;
//...
Stream<Integer> ints;
ints.filter(/* predicate_goes_here */).collect(toSingletonIfEmptyCollector);
Run Code Online (Sandbox Code Playgroud)

toSingletonIfEmptyCollector被认为是作用于同一Collectors.toList()的确,如果它返回非emtpy列表,Collections.singletonList(defaultInt)如果Collectors.toList()返回空.

是否有更短的方法来实现它(例如,通过组合JDK中提供的标准收集器)而不是Collector从头开始实现所有方法?

java java-8 java-stream collectors

10
推荐指数
1
解决办法
2169
查看次数

两个集合的LEFT OUTER JOIN

问题几乎在标题中.我正在寻找比通过集合完全搜索更有效的算法.

我有两个集合:

List<Map<TypeId, Object> > col1;
List<Entity> col2;
Run Code Online (Sandbox Code Playgroud)

哪里

public enum TypeId{
    PLAYER,
    PARTNER,
    PLATFORM,
    AMOUNT
}
Run Code Online (Sandbox Code Playgroud)

public class Entity{
    private int player_id;
    private int platform_id
    private BigDecimal amount;

    //GET, SET
}
Run Code Online (Sandbox Code Playgroud)

col1类型的集合List<Map<TypeId, Object> >仅包含PLAYER, PARTNER, PLATFORM TypeIds.

我需要写一个方法:

public List<Map<TypeId, Object> > merge(List<Map<TypeId, Object> > col1, List<Entity> col2){
    //Impl
}
Run Code Online (Sandbox Code Playgroud)

这是会产生List<Map<TypeId, Object> >各个入口entry地图包含其他键值(AMOUNT, AMOUNT's value) 哪里AMOUNT's value是价值amount的实例的领域eEntity,如果e.player_id = …

java collections

7
推荐指数
1
解决办法
4651
查看次数

为什么我们不能使用两个参数捕获方法的通配符?

问题有关.

我知道通配符捕获.例如,以下内容可用于反转列表:

public static void reverse(List<?> list) { rev(list); } //capturing the wildcard
private static <T> void rev(List<T> list) {
    List<T> tmp = new ArrayList<T>(list);
    for (int i = 0; i < list.size(); i++) {
        list.set(i, tmp.get(list.size()-i-1));
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试为这种情况编写相同的东西:

private int compare (Comparable<?> upper, Comparable<?> lower){
    return comp(upper, lower);  //The method comp(Comparable<T>, Comparable<T>) is not applicable for the arguments (Comparable<capture#5-of ?>, Comparable<capture#6-of ?>)
}

private <T> int comp(Comparable<T> upper, Comparable<T> lower){
    return upper.compareTo((T) lower);
}
Run Code Online (Sandbox Code Playgroud)

我希望它编译得很好.是否有可能捕获具有两个或更多参数的方法的wildacrds?

java generics wildcard

6
推荐指数
1
解决办法
62
查看次数

Java流处理顺序

我有以下几点:

LinkedList<Integer> ints = new LinkedList();
//fill it with some ints
Stream<Integer> stream = ints.stream();
//process the stream in some way
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否可以保证流的处理顺序与底层相同LinkedList?我阅读了文档,但没有关于订购的任何信息。

就我而言,保留订单至关重要。

java java-8 java-stream

6
推荐指数
1
解决办法
1315
查看次数