我有以下代码
using(MemoryStream ms = new MemoryStream())
{
//code
return 0;
}
Run Code Online (Sandbox Code Playgroud)
dispose()在using语句括号结束时调用该方法}对吗?由于我 return在using声明结束之前,MemoryStream对象是否会被妥善处理?这里发生了什么?
我正在尝试按年龄范围计算人数,我几乎可以解决2个问题:
如果在给定年龄范围内没有人(NULL),则该年龄范围不会出现在结果中.例如,在我的数据中没有"超过80"的条目,因此不会出现日期范围.基本上,当缺少日期范围时,它看起来像编程中的错误.
我想以特定的方式订购结果.在下面的查询中,因为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) 我刚刚在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) 我的数据模型由学校和学生组成.学生有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) 我很难弄清楚问题的来源,所以我发布这篇文章是希望其他人可能在其他地方找到类似的东西,并且非常友好地分享他们的见解.
我正在使用运行在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文件中乱丢乱丢一些文件,但没有任何效果.
我想要了解的是:
我昨天遇到了一个错误,虽然它很容易解决,但我想确保我正确理解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.我认为,当您使用公共继承时,受保护的变量对派生类仍然可见.
我正在执行TestNG测试,并且日志输出设置为DEBUG,所以如果发生故障,我可以检查到底出了什么问题.
问题是输出非常冗长,并且在运行时会困扰每个人.我想捕获所有Log4J日志记录事件 - 这很容易 - 并且只在测试失败时打印它们.另外,我需要考虑@Before/@After方法并为它们打印输出.
假设我已经有一个Log4J列表,LoggingEvent那么只有在Test/ After/ Before方法失败时才能打印出来?
我编写了以下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) 我正在使用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) 我想在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)
你有什么想法有什么不对吗?
谢谢,阁楼