小编use*_*745的帖子

在C++中使用未声明的标识符以及模板和继承

以下代码无法编译 - 使用未声明的标识符.我使用GCC和XCode进行编译.

一切都在一个头文件中.

include "MyArray.h"

template <typename T>
class MyBase {
public:
  MyBase();
  virtual ~MyBase();
  void addStuff(T* someStuff);
protected:
  MyArray<T*> stuff;
};

template <typename T>
MyBase<T>::MyBase() {}
template <typename T>
MyBase<T>::~MyBase() {}

template <typename T>
void MyBase<T>::addStuff(T* someStuff) {
  stuff.add(someStuff);
}

// ---------------------

template <typename T>
class MyDerived : public MyBase<T> {
public:
  MyDerived();
  virtual ~MyDerived();
  virtual void doSomething();
};

template <typename T>
MyDerived<T>::MyDerived() {}
template <typename T>
MyDerived<T>::~MyDerived() {}

template <typename T>
void MyDerived<T>::doSomething() {
  T* thingy = …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates

12
推荐指数
3
解决办法
1万
查看次数

使用spring和java ee 5将bean注入抽象类

我正在将一个spring-managed bean注入一个抽象类,它似乎不起作用.这是我所做的解释,如果还不够,我可以编辑帖子并添加一些代码:

  1. 实现java代码 - 1个抽象类,2个继承自它的类,以及要在抽象类中注入和使用的bean,从而实现子类.
  2. 在spring配置中定义bean.
  3. 在spring配置中定义抽象类和2个子类.
  4. 将第一个bean定义为抽象类bean的属性.

结果 - 它不起作用.

然后我尝试将注入的bean从抽象类移动到两个子类中.现在它有效.

那么,我做错了什么,或者理论上不可能将bean注入Spring 3和Java EE 5的抽象类中?

spring dependency-injection java-ee-5

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

java unmarshalling - NULL值或缺少标记?

我在一个由unmarshaller设置的类中有一个nillable字段:

@XmlElement(name = "value", nillable = true)
private BigDecimal valueVariable;
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法判断xml元素是否已被省略或设置为nil:

<value/>XML文件中缺少A.元素,不是必需的.
=>(valueVariable == null)为true

B. XML文件包含<value xsi:nil="true"/>
=>(valueVariable == null)为true

如果值为xsi:nil或标记丢失,如何判断非String变量?

更新 您可以看到2个好的解决方案,我更喜欢其中一个,但另一个也没关系!

java jaxb xml-nil

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

OO 设计:继承 vs 类型(枚举)变量

何时使用继承有一般的最佳实践:

public class Information {
  private String text;
}

public class Message extends Information {
}

public class Faq extends Information {
}

public class News extends Information {
}
Run Code Online (Sandbox Code Playgroud)

以及何时使用枚举作为成员变量来区分:

public enum InformationType {
  MESSAGE, FAQ, NEWS
}

public class Information {
  private String text;
  private InformationType type;
}
Run Code Online (Sandbox Code Playgroud)

在我使用的代码中,我有第二个 - 一个类型字段,困扰我的是代码

public void displayInformation(final Information information) {
  if (information.getType == InformationType.MESSAGE) {
     ....
  } else if (information.getType == InformationType.FAQ) {
     ....
  } else if (information.getType == InformationType.NEWS) { …
Run Code Online (Sandbox Code Playgroud)

java oop inheritance enums design-patterns

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

具有多个页面序列的 xsl-fo(和 apache fop)中的页码

我有一个由多个子文档组成的文档。子文档如下所示:

1 页
2-n 页

然后是具有相同结构的下一个子文档:

1 页
2 米页

正如我所说,这些子文档合并在一个 .pdf 文件中。

这是我的 xsl-fo 模板:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <xsl:output method="xml" indent="yes" />
  <xsl:template match="/">
    <fo:root font-size="11pt" font-family="serif">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="A4-portrait"
          page-height="29.7cm" page-width="21.0cm" margin-top="1cm"
          margin-left="1.5cm" margin-right="1cm" margin-bottom="1cm">
          <fo:region-body />
          <fo:region-after region-name="footer" extent="15mm"/>
        </fo:simple-page-master>
      </fo:layout-master-set>

      <!-- first sub-document -->
      <fo:page-sequence master-reference="A4-portrait" initial-page-number="1">
      ...........
        <fo:block text-align="center">
            Page <fo:page-number/>/<fo:page-number-citation-last ref-id="end"/>
        </fo:block>
      ...........
      </fo:page-sequence>
      <fo:page-sequence master-reference="A4-portrait" id="end">
      ...........
        <fo:block text-align="center">
            Page <fo:page-number/>/<fo:page-number-citation-last ref-id="end"/>
        </fo:block>
      ...........
      </fo:page-sequence>

      <!-- second sub-document --> …
Run Code Online (Sandbox Code Playgroud)

pdf xslt xsl-fo page-numbering apache-fop

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

SQL IN运算符,用于来自不同表的多个列

我有一个oracle 11.2数据库,需要以下查询:

SELECT * FROM table1 a, table2 b
WHERE a.id = b.a_id AND (a.a_col1, b.b_col1) in ((?, ?), (?, ?), (?, ?))
Run Code Online (Sandbox Code Playgroud)

请注意,这些值无关紧要,我对这种查询的结构感兴趣.我将从java执行查询,传递参数.

更新:嗯,它确实有效.我希望有一天有人需要这些信息......

sql oracle

5
推荐指数
1
解决办法
2484
查看次数

JAXBElementRef不生成nillable ="true"

对于我的Web服务请求,我想要求请求null值和缺少标记之间的区别.换句话说,我需要以下元素定义:

<xs:element minOccurs="0" name="minzeronil" nillable="true" type="xs:string"/>
Run Code Online (Sandbox Code Playgroud)

我首先开发了Web服务代码,所以我使用JAXBElementRef以下方法定义了元素:

@XmlRegistry
public class ObjectFactory {

  @XmlElementDecl(name = "minzeronil", namespace = XmlNamespace.MY_SERVICE)
  public JAXBElement<String> createMinzeronil(final String value) {
    return new JAXBElement<String>(new QName(XmlNamespace.MY_SERVICE, "minzeronil"), String.class, value);
  }

}
Run Code Online (Sandbox Code Playgroud)

现在,我希望nillable = "true"在元素的定义中看到.相反,我得到了:

<xs:element name="minzeronil" type="xs:string"/>
<xs:element ref="tns:minzeronil" minOccurs="0"/>
Run Code Online (Sandbox Code Playgroud)

如何nillable = "true"从我的java代码生成?...仍然在我的代码中使用JAXBElement,其方法如isNil()...

更新:我在glassfish上部署代码,因此glassfish是生成wsdl和xsd的代码.

java jaxb jaxbelement

5
推荐指数
1
解决办法
480
查看次数

Java 8将Map <Department,List <Person >>转换为Map <Department,List <String >>

使用Collectors.groupingBy()我可以轻松获得Map<Department, List<Person>>- 这给了我所有的Person对象Department:

allPersons.stream().collect(Collectors.groupingBy(Person::getDepartment));
Run Code Online (Sandbox Code Playgroud)

现在我想转换生成的'multimap',使其包含所有Persons的名称,而不是Person对象.

实现这一目标的一种方法是:

final Map<Department, List<String>> newMap = new HashMap<>();
personsByDepartmentMap.stream
    .forEach((d, lp) -> newMap.put(
         d, lp.stream().map(Person::getName).collect(Collectors.toList())));
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用newMap对象的情况下实现这一目标?就像是

final Map<Department, List<String>> newMap = 
                personsByDepartmentMap.stream().someBigMagic();
Run Code Online (Sandbox Code Playgroud)

collections dictionary java-8 java-stream

5
推荐指数
2
解决办法
2090
查看次数

h:selectOneRadio在一行中呈现所有选择项,如何在新行中呈现每个项?

我有一个selectOneRadio标签,所有单选按钮选项都显示在一行上.如何为每行/每行创建一个选项?

jsf line-breaks selectoneradio

3
推荐指数
1
解决办法
4087
查看次数

如何在apache fop中使用`xsl:include`

我使用apache FOP生成pdf文件.我有这个xsl代码

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <xsl:output method="xml" indent="yes" />
  <xsl:template match="/">
    <fo:root font-size="11pt" font-family="serif">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="A4-portrait"
          page-height="29.7cm" page-width="21.0cm" margin-top="1cm"
          margin-left="1.5cm" margin-right="1cm" margin-bottom="1cm">
          <fo:region-body />
          <fo:region-after region-name="footer" extent="15mm"/>
        </fo:simple-page-master>
        <fo:simple-page-master master-name="A4-landscape"
          page-width="29.7cm" page-height="21.0cm" margin-top="1cm"
          margin-left="1cm" margin-right="1cm" margin-bottom="1cm">
          <fo:region-body />
          <fo:region-after region-name="footer2" display-align="after" extent="0cm"/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="A4-portrait">
        <xsl:include href="footer_common.xsl"/>
        <fo:flow flow-name="xsl-region-body">
          ....
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

注意元素<xsl:include href="footer_common.xsl"/> 包含不起作用!这是footer_common.xsl:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
     version="1.0">
  <fo:static-content flow-name="footer" font-size="7pt">
    <fo:table>
      <fo:table-column column-width="70mm"/>
      <fo:table-column column-width="70mm"/>
      <fo:table-column column-width="70mm"/>
      <fo:table-body>
        ...........
      </fo:table-body>
    </fo:table> …
Run Code Online (Sandbox Code Playgroud)

xslt xsl-fo transformation apache-fop

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

JAXB从Java生成nillable =“ true”

这是一个错误吗?

我需要nillable = "true"在xsd模式中。从我的Java代码生成此类元素的唯一方法是使用@XmlElement(nillable = true),对吗?但是在这种情况下,我将无法利用此定义,也无法检查元素是否设置为nil。该方法isNil()JAXBElement包装器类中。

因此,我在这里有哪些选择-我想nillable = "true"在我的xsd模式中生成并能够检查它是否从我的Java代码中设置。

java jaxb jaxbelement xml-nil

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

在varargs java方法中列出而不是Array

我在java中有一个varargs方法.因此,该方法需要一个Objects 数组.我通过了一个List方法,它工作了!我的意思是,它不仅编译,而且测试是绿色的.所以,我的问题是 - myList.toArray()调用方法时是否需要调用,或者此调用是否自动发生?

提前致谢!

以下是代码:

createSomething(final Object... parameters) {
  // varargs method
}

List<Object> data = new ArrayList<Object>();

createSomething(data); // is this wrong?
createSomething(data.toArray()); // should I always do this?
Run Code Online (Sandbox Code Playgroud)

java arrays list variadic-functions

-2
推荐指数
1
解决办法
793
查看次数