小编pet*_*ust的帖子

什么是Java中的日历的c#等价物?

我正在将Java转换为C#并需要转换涉及Calendar的代码:

Calendar rightNow = Calendar.getInstance();
StringBuilder sb = new StringBuilder();
sb.append((rightNow.get(Calendar.MONTH) + 1));
sb.append(rightNow.get(Calendar.DAY_OF_MONTH));
sb.append(rightNow.get(Calendar.YEAR)).substring(2);
sb.append(rightNow.get(Calendar.HOUR_OF_DAY));
sb.append(rightNow.get(Calendar.MINUTE));
Run Code Online (Sandbox Code Playgroud)

更多编辑因为我应该使用两种可能的方法(System.DateTime和Calendar)?(我记得Java宇宙中存在的问题)

响应摘要对于简单使用,System.DateTime是合适的,并且没有Java的Date问题.如果日期在呼叫之间向前拨号,则应该有一个呼叫.

c# java calendar

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

什么是Java DecimalFormat的c#等价物?

我如何将以下代码转换为C#

DecimalFormat form 
String pattern = "";
for (int i = 0; i < nPlaces - nDec - 2; i++) {
        pattern += "#";
}
pattern += "0.";
for (int i = nPlaces - nDec; i < nPlaces; i++) {
        pattern += "0";
}
form = (DecimalFormat) NumberFormat.getInstance();
DecimalFormatSymbols symbols = form.getDecimalFormatSymbols();
symbols.setDecimalSeparator('.');
form.setDecimalFormatSymbols(symbols);
form.setMaximumIntegerDigits(nPlaces - nDec - 1);
form.applyPattern(pattern);
Run Code Online (Sandbox Code Playgroud)

编辑特别的问题是我不希望小数分隔符改变Locale(例如,一些Locales会使用',').

c# java decimalformat

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

为什么junit4没有用于double [] s的Assert.assertArrayEquals()?

Assert.assertArrayEquals()Junit4中似乎存在除double之外的所有基元的方法,例如

Assert.assertArrayEquals(int[] expected, int[] actual)
Run Code Online (Sandbox Code Playgroud)

Assert.assertArrayEquals(char[] expected, char[] actual)
Run Code Online (Sandbox Code Playgroud)

但不是

Assert.assertArrayEquals(double[] expected, double[] actual, double eps)
Run Code Online (Sandbox Code Playgroud)

要么

Assert.assertArrayEquals(double[] expected, double[] actual, double[] eps)
Run Code Online (Sandbox Code Playgroud)

(后者考虑到双倍的可变范围).有没有一个根本原因我不应该写这样的功能?

java assert junit4

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

ANTLR"无法启动调试器.超时等待连接到远程解析器."

我在AntlrWorks中运行的一个ANTLR语法抛出:"无法启动调试器.超时等待连接到远程解析器."

在过去,这个消息通常会消失,但这个消息是持久的.在搜索ANTLR列表(例如http://www.antlr.org/pipermail/antlr-interest/2009-June/034659.html)时,有一些提示错误消息与它看起来无关但可能是一个语法错误.

有谁有关于如何"重新启动"或在这种情况下找到错误的提示?

debugging grammar antlr

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

将静态方法重构为Eclipse中的实例方法

我怎么能重构

class Plugh {
    static void foo(Bar bar);
}
Run Code Online (Sandbox Code Playgroud)

class Bar {
    void foo();
}
Run Code Online (Sandbox Code Playgroud)

用Eclipse?IOW将静态方法转换为其中一个参数的实例方法.

java eclipse refactoring

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

子类化开源库

我正在使用一个大型开源库,需要生成一些类的个人子类.什么是最好的策略?我想保持原始库不变,并且在更新时可以轻松地重新配置.我的代码不太可能值得为该项目做出贡献(尽管我很乐意以允许这样做的方式编写代码).

这个问题很普遍,但我会用我的例子来说明.我正在使用Apache PDFBox,它有一个例程可以写入java.awt.Graphics2D.我用Apache Batik工具包替换了它,它提供了Graphics2D(org.apache.batik.svggen.SVGGraphics2D)的子类,因此我可以捕获SVG表示.我创建了一个实例

public static org.apache.batik.svggen.SVGGraphics2D createSVG() {
    org.w3c.dom.DOMImplementation domImpl =
    org.apache.batik.dom.GenericDOMImplementation.getDOMImplementation();
        org.w3c.dom.Document document = 
            domImpl.createDocument("http://www.w3.org/2000/svg", "svg", null);
        return new org.apache.batik.svggen.SVGGraphics2D(document);
    }
Run Code Online (Sandbox Code Playgroud)

PDFBox使用图形的地方是org.apache.pdfbox.PDFReader我编辑的以允许新图形的地方:

    protected void showPage(int pageNumber)
{
    try 
    {
        PageDrawer drawer = new PageDrawer();
        PageWrapper wrapper = new PageWrapper( this );
        PDPage page = (PDPage)pages.get(pageNumber);
        wrapper.displayPage( page );
        PDRectangle cropBox = page.findCropBox();
        Dimension drawDimension = cropBox.createDimension();
        svg = PDFPagePanel.createSVG();          // MY EDIT!!!!!!!!!
        drawer.drawPage( svg, page, drawDimension );
        writeSVG(pageNumber);
    } …
Run Code Online (Sandbox Code Playgroud)

java open-source subclass maven

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

Jsoup如何输出格式良好的XML?

当Jsoup遇到某些类型的HTML(复杂或不正确)时,它可能会发出格式错误的HTML.一个例子是:

<html>
 <head>
  <meta name="x" content="y is "bad" here">
 </head>
 <body/>
</html>
Run Code Online (Sandbox Code Playgroud)

引号应该被转义的地方.当Jsoup解析它时,它会发出:

<html>
 <head>
  <meta name="x" content="y is " bad"="" here"="" />
 </head>
 <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

这不符合HTML或XML.这是有问题的,因为它将在链的下一个解析器中失败.

有没有办法确保Jsoup发出错误消息或(如HtmlTidy)可以输出格式良好的XML,即使它已经丢失了一些信息(毕竟我们现在无法确定什么是正确的).

更新:失败的代码是:

    @Test
public void testJsoupParseMetaBad() {
    String s = "<html><meta name=\"x\" content=\"y is \"bad\" here\"><body></html>";
    Document doc = Jsoup.parse(s);
    String ss = doc.toString();
        Assert.assertEquals("<html> <head> <meta name=\"x\" content=\"y is \""
            +" bad\"=\"\" here\"=\"\" /> </head> <body></body> </html>", ss);
}
Run Code Online (Sandbox Code Playgroud)

我在用:

    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.7.2</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

其他人似乎有同样的问题: JSoup - 内部属性引用答案那里没有帮助我,因为我必须接受我给予的

html xml jsoup

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

通过正则表达式删除所有非打印字符

我的文件包含非打印字符,例如\u2066-\u2069(方向格式)和\u2000-\u2009(各种宽度的空间,例如&thinsp;)。是否可以使用(Java)正则表达式删除(或替换)它们?(\\s+不适用于上述情况)。我不想自己构建它,因为我不知道我会得到什么样的角色。

java regex unicode

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

编写便携式域特定语言

我想知道部署特定于域的语言的好策略,这种语言必须至少运行2种语言(Java,C#)和更多(Python,可能还有Javascript).

一些背景.我们已经开发并部署了目前用C#编写的特定于域的语言.它通过一系列方法调用进行部署,这些方法调用的参数是公共语言基元(字符串,双精度等),集合(IEnumerable,HashSet,...)或特定于域的库(CMLMolecule,Point3,RealSquareMatrix)中的对象.该库经过了充分测试,并且对象必须符合稳定部署的XML模式,因此更改将是进化和管理的(至少这是希望).

我们希望这种语言能够被一个广泛的,部分计算机文化的社区所使用,用于在没有中央控制的情况下攻击他们自己的解决方案.理想情况下,DSL将创建一定程度的封装并产生他们所需的基本功能.这些库将管理详细的算法,这些算法有很多种,但却众所周知.在域特定语言和功能库中, DSL的要求有很多共同之处.

我很欣赏有关最佳架构的想法(显然,一旦它部署,我们就不能轻易回溯).选择至少包括:

  • 创建IDL(例如通过CORBA).W3C为XML DOM做了这个 - 我讨厌它 - 它似乎有点矫枉过正
  • 为每个平台手动创建类似的签名,并尽最大努力使它们保持同步.
  • 创建可解析语言(例如CSS).
  • XML中的声明性编程(参见XSLT).这是我的首选解决方案,因为它可以被搜索,操纵等.

表现并不重要.目的明确是.

编辑有关应用程序调用是否构成DSL的讨论.我发现了Martin Fowler对DSL的介绍(http://martinfowler.com/dslwip/Intro.html),他认为简单的方法调用(或链式调用)可以称为DSL.所以系列如:

point0 = line0.intersectWith(plane);
point1 = line1.intersectWith(plane);
midpoint = point0.midpoint(point1);
Run Code Online (Sandbox Code Playgroud)

可以被认为是DSL

c# java dsl

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

什么是"打包PDF",怎么读?

我已经发送了"压缩PDF"文件的版本,其中顶级PDF包含子PDF.

顶级PDF主要用作容器.包装在Adobe Reader中并不总是很明显(例如,当使用pdftk打包时,链接不会显示).我可以通过谷歌搜索这个术语,也不会在2012年的书中找到它("Whittington","PDF Explained",O'Reilly).

这是PDF的标准部分吗?如果是这样,我会感激指针.PDFBox可以分析一下吗?

pdf pdfbox

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