我有一个关于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有所作为?它是否必须与实习生池做某事或我只是被误导?
我编写了很多解析器.到目前为止,我使用HtmlUnit无头浏览器进行解析和浏览器自动化.
现在,我想分开两个任务.
由于80%的工作只涉及解析,我想使用轻量级HTML解析器,因为在HtmlUnit中首先加载页面需要花费很多时间,然后获取源然后解析它.
我想知道哪个HTML解析器是最好的.如果它接近HtmlUnit解析器,解析器会更好.
编辑:
最好的,我至少需要以下功能:
如果它不清除脏HTML代码,那对我来说没问题.我不需要清理任何HTML源代码.我只需要一种最简单的方法来移动HtmlElements并从中获取数据.
我正在尝试连接到本地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) 我准备了一个简单的代码片段,以便将错误的部分与我的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库的矩阵数学性能经验(例如,乘法,逆等)?例如:
我搜查了一下,一无所获.
我们的速度比较详情:
我们使用的是英特尔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并没有慢得多,有时甚至更快.
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.这段代码是如何工作的?
我在Netbeans 7.4 for PHP上收到此消息警告,而我正在使用$ _POST,$ _GET,$ _SERVER,....
不要直接访问Superglobal $ _POST数组
这是什么意思?我该怎么做才能纠正这个警告?
编辑:事件示例代码仍显示此警告.
我正在进行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#中很熟悉,但对此的任何见解也会受到欢迎.
谢谢.
如何使用MySQL Workbench进行数据库备份?我们可以通过以下方式进行备份 -
java ×7
mysql ×3
string ×2
android ×1
blob ×1
database ×1
final ×1
html ×1
html-parsing ×1
jdbc ×1
math ×1
matrix ×1
netbeans ×1
netbeans-7.4 ×1
parsing ×1
performance ×1
php ×1
split ×1
static ×1
superglobals ×1
this ×1
web-scraping ×1