小编Tin*_*iny的帖子

将字符串与==进行比较,这些字符串在Java中声明为final

我有一个关于Java中的字符串的简单问题.以下简单代码段仅连接两个字符串,然后将它们与之进行比较==.

String str1="str";
String str2="ing";
String concat=str1+str2;

System.out.println(concat=="string");
Run Code Online (Sandbox Code Playgroud)

比较表达式concat=="string"返回false那么明显(I明白之间的差值equals()==).


当这两个字符串被声明时final,

final String str1="str";
final String str2="ing";
String concat=str1+str2;

System.out.println(concat=="string");
Run Code Online (Sandbox Code Playgroud)

比较表达式concat=="string",在这种情况下返回true.为什么会final有所作为?它是否必须与实习生池做某事或我只是被误导?

java string final

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

哪个HTML Parser最好?

我编写了很多解析器.到目前为止,我使用HtmlUnit无头浏览器进行解析和浏览器自动化.

现在,我想分开两个任务.

由于80%的工作只涉及解析,我想使用轻量级HTML解析器,因为在HtmlUnit中首先加载页面需要花费很多时间,然后获取源然后解析它.

我想知道哪个HTML解析器是最好的.如果它接近HtmlUnit解析器,解析器会更好.


编辑:

最好的,我至少需要以下功能:

  1. 速度
  2. 通过"id"或"name"或"tag type"轻松找到任何HtmlElement.

如果它不清除脏HTML代码,那对我来说没问题.我不需要清理任何HTML源代码.我只需要一种最简单的方法来移动HtmlElements并从中获取数据.

html java parsing html-parsing web-scraping

187
推荐指数
3
解决办法
17万
查看次数

用JDBC和MySQL解决"通信链路故障"

我正在尝试连接到本地MySQL服务器,但我一直收到错误.

这是代码.

public class Connect {

    public static void main(String[] args) {
        Connection conn = null;

        try {
            String userName = "myUsername";
            String password = "myPassword";

            String url = "jdbc:mysql://localhost:3306/myDatabaseName";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url, userName, password);
            System.out.println("Database connection established");
        } catch (Exception e) {
            System.err.println("Cannot connect to database server");
            System.err.println(e.getMessage());
            e.printStackTrace();
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Database Connection Terminated");
                } catch (Exception e) {}
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

和错误:

Cannot connect to database server …
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

187
推荐指数
7
解决办法
64万
查看次数

Java中的split()方法不适用于点(.)

我准备了一个简单的代码片段,以便将错误的部分与我的Web应用程序分开.

public class Main {

    public static void main(String[] args) throws IOException {
        System.out.print("\nEnter a string:->");
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String temp = br.readLine();

        String words[] = temp.split(".");

        for (int i = 0; i < words.length; i++) {
            System.out.println(words[i] + "\n");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在构建Web应用程序JSF时测试了它.我只是想知道为什么在上面的代码temp.split(".")中不起作用.该声明,

System.out.println(words[i]+"\n"); 
Run Code Online (Sandbox Code Playgroud)

在控制台上不显示任何内容意味着它不会通过循环.当我将temp.split()方法的参数更改为其他字符时,它像往常一样正常工作.可能是什么问题?

java string split

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

Java矩阵数学库的性能?

我们正在计算运行时受矩阵运算约束的东西.(如果感兴趣,请参阅下面的一些细节.)这次经历提出了以下问题

民间有没有使用Java库的矩阵数学性能经验(例如,乘法,逆等)?例如:

我搜查了一下,一无所获.


我们的速度比较详情:

我们使用的是英特尔FORTRAN(ifort(IFORT)10.1 20070913).我们使用Apache commons math 1.2矩阵运算在Java(1.6)中重新实现了它,并且它同意所有的精度数字.(我们有理由在Java中想要它.)(Java双打,Fortran真*8).Fortran:6分钟,Java 33分钟,同样的机器.jvisualm profiling显示了在RealMatrixImpl中花费了大量时间.{getEntry,isValidCoordinate}(在未发布的Apache commons math 2.0中似乎已经消失了,但2.0并不快).Fortran正在使用Atlas BLAS例程(dpotrf等).

显然这可能取决于我们在每种语言中的代码,但我们相信大部分时间都在等效的矩阵运算中.

在其他几个不涉及库的计算中,Java并没有慢得多,有时甚至更快.

java math performance matrix

147
推荐指数
8
解决办法
11万
查看次数

我可以在MySQL的BLOB列中放入的最大数据长度是多少?

我可以在MySQL的BLOB列中放入的最大数据长度是多少?

mysql blob

139
推荐指数
2
解决办法
17万
查看次数

Java中空引用的静态字段

staticJava中的成员(static字段或static方法)与其各自的类相关联,而不是与此类的对象相关联.以下代码尝试访问null引用上的静态字段.

public class Main
{
    private static final int value = 10;

    public Main getNull()
    {
        return null;
    }

    public static void main(String[] args)
    {
        Main main=new Main();
        System.out.println("value = "+main.getNull().value);
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然main.getNull()返回null,但它可以工作和显示value = 10.这段代码是如何工作的?

java static

117
推荐指数
2
解决办法
7648
查看次数

在Netbeans 7.4 for PHP上警告"不要直接访问Superglobal $ _POST数组"

我在Netbeans 7.4 for PHP上收到此消息警告,而我正在使用$ _POST,$ _GET,$ _SERVER,....

不要直接访问Superglobal $ _POST数组

这是什么意思?我该怎么做才能纠正这个警告?

编辑:事件示例代码仍显示此警告.

php netbeans superglobals netbeans-7.4

116
推荐指数
3
解决办法
10万
查看次数

使用带有类名的"this"

我正在进行Android编程并且正在学习Intents,当我看到一个构造函数时,对我的C#训练有素的思想,看起来很时髦.电话是:

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
Run Code Online (Sandbox Code Playgroud)

这两个参数对我来说都是新的.如何从班级名称中删除静态".this"?这是Java的东西还是Android的东西?我假设它只是说"this",因为我在上下文中CurrentActivity,但我不知道如何从类名本身调用"this".也.".class"看起来像是用于反射,我在C#中很熟悉,但对此的任何见解也会受到欢迎.

谢谢.

java android this

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

如何使用MySQL Workbench进行MySQL数据库备份?

如何使用MySQL Workbench进行数据库备份?我们可以通过以下方式进行备份 -

  1. 备份文件(.sql)包含Create Table语句和Insert into Table Statements
  2. 备份文件(.sql)仅包含Create Table Statements,而不包含所有表的Insert into Table语句
  3. 备份文件(.sql)仅包含"插入表语句",而不包含所有表的"创建表"语句

mysql database mysql-workbench database-backups

106
推荐指数
6
解决办法
20万
查看次数