Tag: java的

奇怪的情况“在超类型构造函数被调用之前无法引用它”

为什么这段代码不能编译? public class A { public class B extends A { public B(A a) { } } void foo() { A a = new A(); new B(a) { }; } } A.java:[7,17] cannot reference this before supertype constructor has been called 如果进行以下任一更改,则编译成功: B是私人而非公开 第7行读new B(A); 而不是new B(A) { } 使用javac版本:1.6.0_20

CreateProcess error = 740,请求的操作需要提升

我有一个我定期更新的网络小程序,我最终决定制作一个更新程序。 但是当我在java中下载更新时,它下载得很好。 但是,当我尝试使用Runtime.getRuntime().exec(pathToFile);解压缩+运行更新时Runtime.getRuntime().exec(pathToFile); 我得到CreateProcess error=740, The requested operation requires elevation 如果程序是Web applet,我该如何解决这个问题? 我不能告诉他们将浏览器作为管理员运行。 我怎样才能解决这个问题?

如何将Date.toString转换回日期?

我有一个通过调用Date类实例的toString方法获得的字符串。 如何从此字符串中获取Date对象? Date d = new Date(); String s = d.toString; Date theSameDate = … UPDATE 我试过使用SimpleDateFormat,但是我得到java.text.ParseException: Unparseable date你能告诉我Date.toString()生成的日期格式吗?

不可变对象是线程安全的,但为什么呢?

如果一个线程通过创建其对象来创建填充不可变类的引用变量,并且在第一个线程完成之前第二次另一个线程启动并创建不可变类的另一个对象,则不可变类的使用不会是线程不安全? 创建一个不可变对象也表示所有字段都标记为final …..“如果对新创建的实例的引用从一个线程传递到另一个线程而没有同步,则可能需要确保正确的行为”他们是否正在尝试假设另一个线程可能会将引用变量重新指向不可变类的某个其他对象,那么线程将指向不同的对象,使状态不一致?

字符串到日期转换mm / dd / yy到java中的YYYY-MM-DD

我想将mm / dd / yy格式的String值转换为YYYY-MM-DD Date。 怎么做这个转换? 输入参数为: 03/01/18 下面给出了将String转换为Date的代码 public static Date stringToDateLinen(String dateVlaue) { Date date = null; SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”); try { date = formatter.parse(dateVlaue); } catch (ParseException e) { e.printStackTrace(); } return date; } 尝试使用此方法转换时,它显示以下错误 java.text.ParseException: Unparseable date: “03/01/18”

使用查询字符串在Android SQLiteDatabase中执行插入/更新/删除的正确方法是什么?

我一直在查看官方文档( http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html )以及与StackOverflowpost和实际观察到的行为的交叉引用,文档似乎是在几个方面误导并可能是错误的。 我正在尝试执行参数化查询以插入/更新/删除,就像使用rawQuery(String sql, String[] arguments). 我需要通过查询而不是在SQLiteDatabase类上使用insert / update / delete方法来执行此操作,因为在许多情况下,查询跨越多个表,并且在任何情况下我们都编写了一组我们用于此app的查询在我们所有的平台上(也为SQLite编写),最好按原样使用它。 这是我发现令人困惑/误导的内容: doc对rawQuery说,语句不能用分号终止,但它实际上似乎没有任何区别。 这对我很重要,因为我们有一个巨大的XML文档,里面填充了我在我的应用程序中跨多个平台使用的查询,如果可能的话,我更愿意保持相同。 rawQuery似乎不适用于插入(是的,我尝试过使用和不使用分号)。 该文件没有说明这一点。 我确实看到它返回一个Cursor,我想这可能是一个倾斜提示,它只适用于select,但不一定 – 它可以简单地返回零长度或null Cursor,当它们没有结果集时。 execSQL(String sql, Object[] bindArgs)明确表示它不适用于插入,但事实上确实如此! 此外,尽管execSQL(String, Object[])明确告诉您不要尝试CRUD操作,但它的无参数版本不包含此类警告,并且也可以正常工作(缺点是不允许SQL参数)。 所有这一切的结果是我能够找到成功执行带参数化参数的插入的唯一方法是使用文档明确指示您不要用于此目的的一种工作方法。 此外,对于插入/更新/删除而言,rawQuery不起作用真是一个让人失望,因为我们有一个通用的数据层,如果我们可以使用单个统一的API调用来运行我们所有的CRUD查询,它会更优雅。数据库。 那么这里发生了什么? 这份文件是否已经过时了? 是否可以使用execSql进行插入,更新等? 有没有人成功使用rawQuery进行插入? 附录: 针对OS运行:Android 4.3。 示例查询(什么工作,什么不工作) // Works db.execSql(“INSERT into MyTable (Col1, Col2) VALUES (?, ?)”, new String[] { “Foo”, “Bar” }); db.execSql(“INSERT into […]

我得到一个java.lang.classnotfoundexception:com.mysql.jdbc.Driver

我怎么会得到这个错误? 查看图片: 我在普通的java项目(而不是android项目)上使用相同的jar,它曾经工作过。 怎么了?

Java:两个整数的总和被打印为两者的串联

class giri{ public static void main(String args[]) { int x = 17; int y = 013; System.out.println(“x+y = ” + x+y); } } 当我运行程序时,我得到输出1711.任何人都可以告诉我如何获得1711

为什么String类有复制构造函数?

可能重复: Java中表达式“new String(…)”的目的是什么? 如果不可变类对象副本等于原始副本那么为什么Java中的String类有一个复制构造函数? 这是一个错误还是这个实施背后的原因? 在Java文档中,它被指定为: /** * Initializes a newly created {@code String} object so that it represents * the same sequence of characters as the argument; in other words, the * newly created string is a copy of the argument string. Unless an * explicit copy of {@code original} is needed, use of […]

使用.next()或.nextLine()的java字符串变量

以下是我的源代码: package functiontest; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class FunctionTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int option; String cname, cpassword=”testpassword”,chp=”010-000000″; // cname=”clerk test”; System.out.println(“1. add”); System.out.println(“2. delete”); option = scan.nextInt(); switch(option) { case 1: System.out.print(“Enter clerk name:\t”); cname = scan.nextLine(); File cfile […]