问题列表 - 第30656页

如果我在使用声明结束之前返回会发生什么?处理是否会被召唤?

我有以下代码

using(MemoryStream ms = new MemoryStream())
{
     //code
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

dispose()using语句括号结束时调用该方法}对吗?由于我 returnusing声明结束之前,MemoryStream对象是否会被妥善处理?这里发生了什么?

.net c# dispose idisposable using-statement

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

MySQL GROUP BY年龄范围包括空范围

我正在尝试按年龄范围计算人数,我几乎可以解决2个问题:

  1. 如果在给定年龄范围内没有人(NULL),则该年龄范围不会出现在结果中.例如,在我的数据中没有"超过80"的条目,因此不会出现日期范围.基本上,当缺少日期范围时,它看起来像编程中的错误.

  2. 我想以特定的方式订购结果.在下面的查询中,因为ORDER BY是age_range,'20 - 29'的结果出现在'20岁以下'的结果之前.

这是db表"查询"的示例:

inquiry_id  birth_date
1           1960-02-01
2           1962-03-04
3           1970-03-08
4           1980-03-02
5           1990-02-08
Run Code Online (Sandbox Code Playgroud)

这是查询:

SELECT
    CASE
        WHEN age < 20 THEN 'Under 20'
        WHEN age BETWEEN 20 and 29 THEN '20 - 29'
        WHEN age BETWEEN 30 and 39 THEN '30 - 39'
        WHEN age BETWEEN 40 and 49 THEN '40 - 49'
        WHEN age BETWEEN 50 and 59 THEN '50 - 59'
        WHEN age BETWEEN 60 and 69 THEN '60 - 69'
        WHEN …
Run Code Online (Sandbox Code Playgroud)

mysql

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

什么时候应该在Java中使用本地类?

我刚刚在Java中发现了本地类:

public final class LocalClassTest
{
  public static void main(final String[] args) {
    for(int i = 10; i > 0; i--) {
      // Local class definition--declaring a new class local to the for-loop
      class DecrementingCounter {
        private int m_countFrom;

        public DecrementingCounter(final int p_countFrom) {
          m_countFrom = p_countFrom;
        }

        public void count() {
          for (int c = m_countFrom; c > 0; c--) {
            System.out.print(c + " ");
          }
          System.out.println();
        }
      }

      // Use the local class
      DecrementingCounter dc = new DecrementingCounter(i); …
Run Code Online (Sandbox Code Playgroud)

java oop

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

Hibernate/JPA:在子集合中重复

我的数据模型由学校和学生组成.学生有FK到他们所属的学校.我不明白为什么集合包含重复项,即Joe,Joe,Mary,Mary,Tom,Tom等.Hibernate生成的SQL查询是正确的,不会返回重复项.我可以实现一个黑客来过滤重复项,但我还没准备好与破窗户一起生活;)我试图粘贴下面的相关代码片段.任何帮助非常感谢!

// SchoolJpa

@OneToMany (
    mappedBy = "school",
    targetEntity = StudentJpa.class,
    fetch = FetchType.LAZY,
    cascade = CascadeType.ALL
)
@Override
public List<Student> getStudentsInternal() {
    return super.getStudentsInternal();
}

// SchoolImpl

private List<Student> students = new ArrayList<Student>();

public List<Student> getStudents() {
    return Collections.unmodifiableList(students);
}

public List<Student> getStudentsInternal() {
    return students;
}

public void setStudentsInternal(List<Students> students) {
    this.students = students;
}
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

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

JBoss5中的XPath类解析

我很难弄清楚问题的来源,所以我发布这篇文章是希望其他人可能在其他地方找到类似的东西,并且非常友好地分享他们的见解.

我正在使用运行在Sun Java 1.6.0-13 JDK之上的JBoss 5.0.1.GA应用程序服务器.对于生成的Web Service中的WAR文件,我使用Axis2 1.4 WS引擎,当从Dynamic Web Project中的给定"worker"类创建Webservice时,Eclipse Galileo将JAR文件插入到项目的目录中.相关的代码段如下:WEB-INF/lib

String sUrl = "http://example.com/datafile.xml";
String sPath = "/some/xpath/string";
InputStream input = new URL(sUrl).openStream();
InputSource source = new InputSource(input);
DocumentBuilderFactory docFact = DocumentBuilderFactory.newInstance();
docFact.setNamespaceAware(false);
DocumentBuilder parser = docFact.newDocumentBuilder();
Document doc = parser.parse(source);
XPath xpath = XPathFactory.newInstance().newXPath();
// error occurs here:
String result = (String) xpath.evaluate(path,doc,XPathConstants.STRING);
input.close();
Run Code Online (Sandbox Code Playgroud)

这是我从JBoss日志得到的错误:

java.lang.LinkageError:加载器约束违规:当解析字段"STRING"时,引用类的类加载器(org/jboss/classloader/spi/base/BaseClassLoader的实例),javax/xml/xpath/XPathConstants和类用于字段的已解析类型的加载程序(<bootloader>的实例),javax/xml/namespace/QName,具有该类型的不同Class对象

可以使用XPath.evaluate(String,Document)- 但是有时我需要得到(例如)a XPathConstants.NODESET,所以这是不行的.我还试图jboss-web.xml在WAR文件中乱丢乱丢一些文件,但没有任何效果.

我想要了解的是:

  • 哪里可能出现错误?JBoss类加载器?JBoss和Sun JDK之间有一些奇怪的交互?Eclipse在创建Web服务时引入了一些奇怪的东西?也许在WAR中部署的Axis2库引入了一些混乱? …

java jboss xpath classloader

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

访问派生类中的受保护成员

我昨天遇到了一个错误,虽然它很容易解决,但我想确保我正确理解C++.

我有一个受保护成员的基类:

class Base
{
  protected:
    int b;
  public:
    void DoSomething(const Base& that)
    {
      b+=that.b;
    }
};
Run Code Online (Sandbox Code Playgroud)

这编译并且工作得很好.现在我扩展Base但仍想使用b:

class Derived : public Base
{
  protected:
    int d;
  public:
    void DoSomething(const Base& that)
    {
      b+=that.b;
      d=0;
    }
};
Run Code Online (Sandbox Code Playgroud)

请注意,在这种情况下DoSomething仍然参考a Base,而不是Derived.我希望我仍然可以访问that.b内部Derived,但我得到一个cannot access protected member错误(MSVC 8.0 - 还没有尝试过gcc).

显然,添加一个公共getter b解决了这个问题,但我想知道为什么我无法直接访问b.我认为,当您使用公共继承时,受保护的变量对派生类仍然可见.

c++

56
推荐指数
3
解决办法
6万
查看次数

执行TestNG测试时捕获Log4j输出

我正在执行TestNG测试,并且日志输出设置为DEBUG,所以如果发生故障,我可以检查到底出了什么问题.

问题是输出非常冗长,并且在运行时会困扰每个人.我想捕获所有Log4J日志记录事件 - 这很容易 - 并且只在测试失败时打印它们.另外,我需要考虑@Before/@After方法并为它们打印输出.

假设我已经有一个Log4J列表,LoggingEvent那么只有在Test/ After/ Before方法失败时才能打印出来?

java testng log4j

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

使用Perl从DOM生成格式化XML

我编写了以下Perl脚本(如下所示)以创建简单的XML文件.生成的输出有效,但我对生成的XML源代码有特定的格式要求.

如何更改我的脚本以添加我想要的空白?

#!/usr/bin/perl

use warnings;
use XML::LibXML;


my $doc  = XML::LibXML::Document->new; 
my $root = $doc->createElement('LEVEL1');
$doc->setDocumentElement($root);

my $system = $doc->createElement('LEVEL2');
$root->appendChild($system);

my $install = $doc->createElement('LEVEL3');
$system->appendChild($install);

print $doc->toString;
Run Code Online (Sandbox Code Playgroud)

脚本输出:

<?xml version="1.0"?>
<LEVEL1><LEVEL2><LEVEL3/></LEVEL2></LEVEL1>
Run Code Online (Sandbox Code Playgroud)

期望的输出:

  <?xml version="1.0"?>
  <LEVEL1>
     <LEVEL2>
      <LEVEL3/> 
     </LEVEL2>
   </LEVEL1>
Run Code Online (Sandbox Code Playgroud)

xml perl

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

附加到静态主体时更改CCSprite锚点

我正在使用chipmunk创建一个静态形状(使用SpaceManager)并将cpCCSprite附加到它上面.

但是,我需要精灵的锚点偏离中心,但是当我改变精灵的锚点时,形状和精灵不再对齐.

所以,如果我像这样改变锚点

[sprite setAnchorPoint:ccp(0.5, 0.3)];
Run Code Online (Sandbox Code Playgroud)

相应地绘制了精灵,但我预计形状会随之"移动".这是我的意思的图片.

大炮应该如何看待http://www.tomelders.com/bin/cannon.png

在左边是形状和精灵正确对齐.我没有改变锚点.

右边是具有锚点的精灵 ccp(0.5, 0.3)

我也在每一帧都重复静态形状.

这是它的创建方式

// create the sensor
sensor = [spaceMgr addRectAt:pPoint mass:STATIC_MASS width:53 height:81 rotation:0];
  sensor->sensor = YES;
  sensor->collision_type = 2;

  //Create the sprite
  CCTexture2D *texture = [[CCTextureCache sharedTextureCache] addImage:@"bownce-sprites-comic-sized.png"];

  barrel = [[cpCCSprite node] initWithShape:sensor texture:texture rect:CGRectMake(3, 428, 53, 82)];
  [self addChild:barrel];

  // set the ancor point
  [barrel setAnchorPoint:ccp(0.5, 0.3)];
  [barrel setPosition:pPoint];
Run Code Online (Sandbox Code Playgroud)

chipmunk cocos2d-iphone

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

Java DecimalFormat问题

我想在Java中使用德语语言环境格式化double类型的数字.但是出现问题,因为以下代码的输出是:0.0

package main;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;

public class Test {

    private static String decimal2Format = "000.000"; 

    public static void main(String args[]){
        DecimalFormat format = (DecimalFormat)NumberFormat.getInstance(new Locale("de"));
        double value = 0;
        try {
            format.applyPattern(decimal2Format);
            value = format.parse("0.459").doubleValue();
        } catch (ParseException e) {
            e.printStackTrace();
        }

        System.out.println(value);
    }

}
Run Code Online (Sandbox Code Playgroud)

你有什么想法有什么不对吗?

谢谢,阁楼

java locale decimal

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