小编fge*_*fge的帖子

那是什么?在W3C CSS规范的标记化部分中意味着什么?

自从我与cssparser可怕的经验,我已经给自己设定了实现用Java编写的CSS解析器的任务蒸谷米.我已经涵盖了所有颜色规格,但当然我需要所有其他的......

所以,我去寻找CSS规范并在W3C网站上找到它.我现在正在为所有"原子"编写规则,但在本节中发现了令人不安的事情:

UNICODE-RANGE   u\+[0-9a-f?]{1,6}(-[0-9a-f]{1,6})?
Run Code Online (Sandbox Code Playgroud)

打扰我的部分是问号[0-9a-f?].

段落标题说这里使用的正则表达式是Lex风格.在?有字符类(感谢@scizzo为确认)没有任何特殊含义.那么,这是W3C规范中的拼写错误,还是?真的允许在Unicode范围内?如果是,那是什么意思?

总结:我有答案.但是,规范错误的:"问号unicode范围"只能是它本身.鉴于上述正则表达式,这个表达式将被允许,而它显然是非法的:u+4??-733f

css unicode grammar lex

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

Java的ResourceBundle的轻量级替代品?

在某些项目中,我使用经典ResourceBundle机制来获取与语言环境相关的消息(异常消息,信息消息等等).

但我有一些问题:

  • 它对我的口味来说太"重量级"了; 例如,虽然我只需要字符串,但是ResourceBundle可以返回一个Object;
  • 处理非现有密钥很差(未经检查的异常,而不是返回密钥本身);
  • 你可以堆叠捆绑,但不是我想要的方式(添加父亲使用.setParent()不首先搜索父亲,但孩子).

我知道可以编写代码来克服后两点; 但是,如果有一个库以更简单的方式处理消息,那就更好了!你知道吗?

java resourcebundle

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

如何为Tree结构创建JSON Schema?

我有一个树结构,我想创建一个JSON模式.

班级结构

class Node {

   String id;
   List<Node> children = new ArrayList<>();

}
Run Code Online (Sandbox Code Playgroud)

到目前为止的JSON模式:

{
  "name": "node",
  "type": "object",
  "properties": {
     "id": {
        "type": "string",
        "description": "The node id",
        "required": true
     }
     "children": {
        "type": "array",
        "items": {
           //The items of array should be node ?               
        }
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何"items"用JSON 描述数组的内容?

在此先感谢您的回答.

javascript java tree json jsonschema

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

如何为zip存档编写FileTypeDetector?

对于这个包,我接下来的步骤之一是编写一系列FileTypeDetector使方法Files.probeContentType()比默认方法更智能(默认提供的文件类型检测器仅依赖于"文件扩展名").

正如前面提到的方法的javadoc所提到的,这个方法依赖于FileTypeDetectorMETA-INF/services文件中声明的实例.

我首先使用一个简单的提供程序测试使用文件头检测PNG文件:

public final class PngFileTypeDetector
    extends FileTypeDetector
{
    private static final byte[] PNG_HEADER = {
        (byte) 0x89,
        (byte) 0x50, (byte) 0x4E, (byte) 0x47,
        (byte) 0x0D, (byte) 0x0A,
        (byte) 0x1A,
        (byte) 0x0A
    };

    private static final int PNG_HEADER_SIZE = PNG_HEADER.length;

    @Override
    public String probeContentType(final Path path)
        throws IOException
    {
        final byte[] buf = new byte[PNG_HEADER_SIZE];

        try (
            final InputStream in = Files.newInputStream(path);
        ) {
            if (in.read(buf) != PNG_HEADER_SIZE)
                return …
Run Code Online (Sandbox Code Playgroud)

java file-io zip mime-types jsr203

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

Java:变量"可能已经初始化",但我不明白如何

首先是一些上下文:下面粘贴的所有代码都在另一个声明为的类中public class TheClass extends SomeProprietaryClass.我不能出于各种原因在另一个文件中声明这些类...并且日志消息是法语.而且我是一个"最后快乐"的程序员.这是问题的核心......

现在,代码......(可能太多了 - 按要求剥离只保留相关部分)

自定义异常:

private static final class BreadCrumbException
    extends Exception
{
    private BreadCrumbException(final String message)
    {
        super(message);
    }

    private BreadCrumbException(final String message, final Throwable cause)
    {
        super(message, cause);
    }
}
Run Code Online (Sandbox Code Playgroud)

用于"实现"面包屑元素可见性的枚举:

private enum Visibility
{
    MAINPAGE("R"),
    MENU("M"),
    BREADCRUMB("A"),
    COMMERCIAL("C");

    private static final Map<String, Visibility> reverseMap
        = new HashMap<String, Visibility>();

    private static final String characterClass;

    static {
        final StringBuilder sb = new StringBuilder("[");

        for (final Visibility v: values()) {
            reverseMap.put(v.flag, v);
            sb.append(v.flag);
        } …
Run Code Online (Sandbox Code Playgroud)

java final

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

如何理解testng套件配置中的parallel =“instances”?

并行=“实例”:

TestNG 将在同一线程中运行同一实例中的所有方法,但两个不同实例上的两个方法将在不同线程中运行。

这句话怎么理解?

java testng

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

我每次将项目导入eclipse作为gradle时都会下载Gradle?

我试图在我的本地机器上配置几个gradle项目.这就是我做的:

命令行:

将目录更改为我要构建的项目.

./gradlew build
Run Code Online (Sandbox Code Playgroud)

它开始下载第一次非常正常.现在,每当我尝试构建此项目或使用相同版本的任何其他项目时,它首先下载gradle.

日食

我尝试导入Gradle项目,然后BuildModel它开始下载gradle,现在每次我尝试其他项目甚至尝试再次导入同一个项目时,它开始下载.

题?

这是正常的还是环境破裂了?如果以后是这种情况,我该如何解决?

eclipse command-line gradle gradlew

5
推荐指数
0
解决办法
767
查看次数

Lambda匹配FunctionalInterface的签名,但"没有".你怎么解释这个论点完全被传递了?

我目前正在研究这个项目.它运作得非常好.

然而,在重新阅读README之后,我开始怀疑如何记录一些困扰我的东西......

引用这个例子,并忘记抛出异常,它的内容如下:

Files.list(somePath).map(Path::toRealPath).forEach(System.out::println)
Run Code Online (Sandbox Code Playgroud)

好.现在,Path涉及的方法就是这个.当然,我们没有通过任何LinkOption.

再说一遍:让我们忘记它抛出任何异常.

流的.map()需要Function作为参数.此接口用于Function<T, R>定义为:

R apply(T t);
Run Code Online (Sandbox Code Playgroud)

但我使用的方法不接受任何参数.乍一看,它似乎不匹配Function,对吗?除了那个...

它可以写成:

path -> path.toRealPath()
Run Code Online (Sandbox Code Playgroud)

因此,如果方法引用没有参数,或类似的东西,它看起来像使用的机制有点能够调用"流对象"上的方法...

我想相应地记录下来,我在这里遗漏了一些东西.

我错过了什么?

java lambda invokedynamic java-8

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

ABNF 的 Unicode 版本?

我想写的,其内容可以包含字符的文件格式,语法非US-ASCII的。由于我习惯了ABNF,所以我尝试使用它......

但是,RFC 52347405中没有一个对不使用 US ASCII 的人非常友好。

事实上,我正在寻找一个面向字符而不是面向字节的 ABNF 版本(可能还有一些基本规则);RFC 5234 对此唯一要说的是第 2.4 节:

2.4.  External Encodings

   External representations of terminal value characters will vary
   according to constraints in the storage or transmission environment.
   Hence, the same ABNF-based grammar may have multiple external
   encodings, such as one for a 7-bit US-ASCII environment, another for
   a binary octet environment, and still a different one when 16-bit
   Unicode is used.  Encoding details are beyond the scope of ABNF, …
Run Code Online (Sandbox Code Playgroud)

unicode grammar abnf

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

为什么Spliterator <?>将NONNULL定义为特征?

的javadoc的Spliterator(这基本上是什么是真正的背后Stream,如果我理解正确的事情)定义了许多习性研究其意义如SIZED,CONCURRENT,IMMUTABLE等.

但它也定义了NONNULL; 为什么?

但是,我确定用户有责任确保这一点,例如,如果开发人员尝试.sort()使用无SORTED元素的非流媒体,他/她就会受到NPE的欢迎......

但是这个特征存在.为什么?的Javadoc,Spliterator本身并没有提到它的任何实际使用,而且也不该package-info.java在的java.util.stream包...

java null java-8 java-stream

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