小编Sur*_*ran的帖子

String的replaceAll()方法和转义字符

这条线

System.out.println("\\");
Run Code Online (Sandbox Code Playgroud)

打印单个反斜杠(\).和

System.out.println("\\\\");
Run Code Online (Sandbox Code Playgroud)

打印双反斜杠(\\).明白!

但为什么在以下代码中:

class ReplaceTest
{
    public static void main(String[] args)
    {
        String s = "hello.world";
        s = s.replaceAll("\\.", "\\\\");
        System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

是输出:

hello\world
Run Code Online (Sandbox Code Playgroud)

代替

hello\\world
Run Code Online (Sandbox Code Playgroud)

毕竟,该replaceAll()方法正在用(\\.)替换dot (\\\\).

有人可以解释一下吗?

java regex string

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

如何在HTML元素的背景图像中反转颜色?

我有以下内容div:

<div style="border-radius:50%; height:233px; width:423px; background-color:black; background-image:url(image2.gif);background-repeat:repeat; border:solid  1px; filter: invert(100%);-webkit-filter: invert(100%);"></div>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在,我需要反转背景图像的颜色,使其看起来像: 在此输入图像描述

我试过用

filter: invert(100%); -webkit-filter: invert(100%);

但它反转整个div包括边界使它看起来像: 在此输入图像描述

如何仅反转背景图像的颜色而不是整个元素的颜色?

注意:以上div是以编程方式生成的.反转边框颜色的解决方案也需要我改变程序来反转边框的颜色,这可能是任何格式(十六进制,rgb,rgba,hsl,hsla,单词等),基本上膨胀我的码.但是,如果我没有其他选择,那么我会这样做,但首先我希望我能找到一个更简单的解决方案.

html css html5 css3

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

如何以SVG形状拉伸图像以填充其边界?

我有一个SVG形状(平行四边形),充满了图像.这个演示可以在这里看到.

SVG对象是:

<svg style="overflow:visible; margin-left:111px; margin-top:22px; " height="86" width="281">
    <defs>
        <pattern id="blip1" patternUnits="userSpaceOnUse" width="279" height="83">
            <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://i.imgur.com/uTDpE6J.jpg" width="279" height="83"></image>
        </pattern>
    </defs>
    <polygon points="49,2 280,2 232,84 1,84" x="1" y="1" style="stroke-linejoin:round; fill:url(#blip1); stroke-width:2; stroke:hsl(212,45%,26%); "></polygon>
</svg>
Run Code Online (Sandbox Code Playgroud)

但是图像没有被拉伸到形状的边界,而是位于形状的中间.

我想要实现的是:

期望的结果

但我得到的是这样的:

实际结果

谁能建议我一个适用于所有形状的解决方案(即五边形,六边形,星形等)?顺便说一句,它已经可以用椭圆工作了.

html css svg

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

为什么没有必要将方法的返回值赋给变量?

可能重复:
如果您没有引用它,Java中的对象会发生什么,例如:myString.concat("that")

public class ReturnTest
{
    public static void main(String[] args)
    {
        ReturnTest rt = new ReturnTest();
        rt.show();
    }

    public String show()
    {
        return "Hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,该show()方法返回一个String未被任何变量捕获的值.编译器和JVM都不会引发任何警告,错误或异常.原始返回类型也是如此.为什么?

编译器是否应该确保方法返回的重要值没有丢失?

我怎么能从shell修复这个?

java return-value

11
推荐指数
2
解决办法
7346
查看次数

java中的java.sql.SQLException:org.apache.thrift.transport.TTransportException?

我正在尝试使用java在hive中创建表.我发现

java.sql.SQLException: org.apache.thrift.transport.TTransportException

在执行我的代码时.

这是我的代码

public void createTable(String tableName) {
        try{
            Statement stat = con.createStatement();

        String QueryString = "CREATE TABLE '"+tableName+"'(User_Id INTEGER NOT NULL AUTO_INCREMENT, " + "User_Name VARCHAR(25), UserId VARCHAR(20), User_Pwd VARCHAR(15), primary key(User_Id))";

        a = stat.executeUpdate(QueryString);
        if(a==1){
            System.out.println(a);
            System.out.println("Table has been created");
        }

        }catch(Exception e){
        System.out.println(e);}
} 
Run Code Online (Sandbox Code Playgroud)

为什么抛出这个异常以及如何解决它.

java hadoop hbase hive

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

Pattern类中的pattern()vs toString()

这个pattern()方法和toString()方法有什么区别Pattern

医生说:

public String pattern()
Run Code Online (Sandbox Code Playgroud)

返回编译此模式的正则表达式.

public String toString()
Run Code Online (Sandbox Code Playgroud)

返回此模式的字符串表示形式.这是编译此模式的正则表达式.

即使他们的实现返回相同的结果:

import java.util.regex.*;

class Test {
  public static void main(String[] args) {
    Pattern p = Pattern.compile("[a-zA-Z]+\\.?");
    String s = p.pattern();
    String d = p.toString();
    System.out.println(s);
    System.out.println(d);
  }
}
Run Code Online (Sandbox Code Playgroud)

我认为没有区别,为什么有两种方法呢?或者我错过了什么?

java regex pattern-matching

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

Oracle XE 11g主页无法显示

我一直在寻找解决我的问题的方法,但似乎没有工作,这是我去重新安装之前的最后一次尝试.

我今天通过其安装向导安装了Oracle XE 11g第2版,它运行良好.我似乎遇到的麻烦是我无法打开浏览器主页.

浏览器给我错误: cannot establish a connection to the server at 127.0.0.1:8080

我在Windows 7 32位上,我已经下载并安装了XE.

通过阅读所有可能的答案,我收集到在我的问题得到解答之前可能需要一些信息.我运行的各种命令的结果也是如此,所有答案都要求.

1)

C:\Users\lenove> netstat -nao | find "8080"
Run Code Online (Sandbox Code Playgroud)

这个没有结果

2)

C:\Users\lenovo> lsnrctl status

LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 18-JAN-2013 16:46:43

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
Start Date                18-JAN-2013 16:18:54
Uptime                    0 days 0 hr. 27 min. 52 …
Run Code Online (Sandbox Code Playgroud)

oracle installation listener oracle11g

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

在交换机案例中枚举引用

enum Color {RED, GREEN, BLUE};
class SwitchEnum
{
  public static void main(String[] args)
  {
    Color c = Color.GREEN;
    switch(c)
    {
      case RED:
        System.out.println("red");
        break;
      case GREEN:
        System.out.println("green");
        break;
      case BLUE:
        System.out.println("blue");
        break;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码编译得很好并给出了预期的输出.

我的问题是为什么在创建Color引用'c'时我们需要通过枚举的名称(即Color.GREEN)引用它,但在case块中只有enum值足够.不应该

case Color.RED:
Run Code Online (Sandbox Code Playgroud)

等等???

java enums switch-statement

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

将SwingWorker的泛型类型设置为void?

可能重复:
java.lang.Void和void有什么区别?

我想创建一个SwingWorker具有最终和中间结果类型的具体类void.我写了以下代码:

class AnswerWorker extends SwingWorker<void, void> {
    protected void doInBackGround() {
        System.out.println("what is your problem!!");
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

Multiple markers at this line-
    Syntax error on token "void", Dimensions expected after this token.
    Syntax error on token "void", Dimensions expected after this token.
Run Code Online (Sandbox Code Playgroud)

然而,当我将代码更改voidVoid(即小v到大写V)时,它工作正常,尽管我仍然被迫return null;doInBackground()方法结束时.

为什么是这样?我知道Void是一个java.lang包中的类,但是文档没有说太多关于它的内容(至少我不能遵循它:p)

Thanx提前!!

java generics swing void swingworker

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

Docker/bin/bash:找不到nodemon:命令

我正在尝试将我的工作节点代码从我的主机挂载到docker容器中并使用nodemon使用docker-compose运行它.但容器似乎无法找到nodemon.注意:我的主机上没有安装node或npm.

以下是我的项目(测试)的根文件夹中的文件.(这只是草稿)

Dockerfile

FROM surenderthakran/nodejs:v4
ADD . /test
WORKDIR /test
RUN make install
CMD make run
Run Code Online (Sandbox Code Playgroud)

Makefile文件

SHELL:=/bin/bash
PWD:=$(shell pwd)
export PATH:= $(PWD)/node_modules/.bin:$(PWD)/bin:$(PATH)
DOCKER:=$(shell grep docker /proc/1/cgroup)

install:
    @echo Running make install......
    @npm config set unsafe-perm true
    @npm install

run:
    @echo Running make run......
# Check if we are inside docker container
ifdef DOCKER
    @echo We are dockerized!! :D
    @nodemon index.js
else
    @nodemon index.js
endif

.PHONY: install run
Run Code Online (Sandbox Code Playgroud)

泊坞窗,compose.yml

app:
    build: .
    command: make run
    volumes:
        - .:/test
    environment:
        NODE_ENV: …
Run Code Online (Sandbox Code Playgroud)

makefile node.js docker nodemon docker-compose

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