我在http://www.javabeginner.com/learn-java/java-object-typecasting中遇到过这个例子,在它谈到显式types转换的部分,有一个例子让我困惑。 例子: class Vehicle { String name; Vehicle() { name = "Vehicle"; } } class HeavyVehicle extends Vehicle { HeavyVehicle() { name = "HeavyVehicle"; } } class Truck extends HeavyVehicle { Truck() { name = "Truck"; } } class LightVehicle extends Vehicle { LightVehicle() { name = "LightVehicle"; } } public class InstanceOfExample { static […]
在尝试使用java.util.zip压缩压缩文件时,遇到了很多我解决的问题。 现在,我终于得到了一些输出,我很难得到“正确的”输出。 我有一个提取的ODT文件(目录会更适合描述),我做了一些修改。 现在我想压缩该目录以重新创buildODT文件结构。 压缩目录并重命名以.odt结束工作正常,所以应该没有问题。 主要的问题是我失去了目录的内部结构。 一切都变得“平坦”了,我似乎也找不到保留原有多层结构的方法。 我将不胜感激一些帮助,因为我似乎无法find问题。 以下是相关的代码片段: ZipOutputStream out = new ZipOutputStream(new FileOutputStream( FILEPATH.substring(0, FILEPATH.lastIndexOf(SEPARATOR) + 1).concat("test.zip"))); compressDirectory(TEMPARCH, out); SEPARATOR是系统文件分隔符, FILEPATH是原始ODT的文件path,我将覆盖它,但是这里没有做testing。 我只需写入同一个目录下的test.zip文件。 private void compressDirectory(String directory, ZipOutputStream out) throws IOException { File fileToCompress = new File(directory); // list contents. String[] contents = fileToCompress.list(); // iterate through directory and compress files. for(int i = […]
与forName方法和registerDriver加载和注册JDBC驱动程序有什么不同?
我无法从这个string拆分值: "Food 1 | Service 3 | Atmosphere 3 | Value for money 1 " 这是我现在的代码: String rat_values = "Food 1 | Service 3 | Atmosphere 3 | Value for money 1 "; String[] value_split = rat_values.split("|"); 产量 [,F,o,o,d,1,…,S,e,r,v,i,c,e,3,|,A,t,m,o,s,p, h,e,r,e,3,…,v,a,l,u,e,f,o,r,m,o,n,e,y,1,] 预期产出 食物1 服务3 气氛3 物有所值1
继续从堆栈溢出问题Java程序获取当前date没有时间戳 : 没有时间的情况下获取Date对象的最有效方法是什么? 除了这两个还有别的方法吗? // Method 1 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dateWithoutTime = sdf.parse(sdf.format(new Date())); // Method 2 Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); dateWithoutTime = cal.getTime(); 更新 : 我知道约达时代 ; 我只是试图避免这样一个简单的(我认为)任务的额外的图书馆。 但根据迄今为止的答案,Joda-Time似乎非常受欢迎,所以我可能会考虑它。 通过高效 ,我的意思是我想避免method 1使用的临时对象String创build,同时method 2看起来像是一个黑客而不是解决scheme。
好先生,我有一个问题。 我目前正在从事的学校Java项目需要我有一个USB条形码扫描器作为外部input连接到我的笔记本电脑。 我还没有买到USB扫描仪,因为这对学生来说相当昂贵。 所以我必须收集证据表明这个扫描仪将与我的程序工作。 扫描仪是否能够读取条形码(大概是在线打印)并将其存储到variables中? 如果是这样的话,扫描仪按下的动作事件是否会像键盘按键一样被读取? 如果是这样,那么这行代码是什么样的? 另外,如果你可以发表你的经验与条码扫描仪,或给任何build议,如扫描仪购买,这将有助于很多。 干杯!
通过连接到外部BLE设备,我可以发送多达20个字节的数据。 如何发送大于20个字节的数据。 我已经读过,我们必须要分割数据或分割特征到所需的部分。 如果我假设我的数据是32字节,你能告诉我的变化,我需要在我的代码使这个工作吗? 以下是我的代码所需的片段: public boolean send(byte[] data) { if (mBluetoothGatt == null || mBluetoothGattService == null) { Log.w(TAG, "BluetoothGatt not initialized"); return false; } BluetoothGattCharacteristic characteristic = mBluetoothGattService.getCharacteristic(UUID_SEND); if (characteristic == null) { Log.w(TAG, "Send characteristic not found"); return false; } characteristic.setValue(data); characteristic.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE); return mBluetoothGatt.writeCharacteristic(characteristic); } 这是我用来发送数据的代码。 “发送”function用于以下onclick事件。 sendValueButton = (Button) findViewById(R.id.sendValue); sendValueButton.setOnClickListener(new […]
我希望能够做到这样的事情: @Email public List<String> getEmailAddresses() { return this.emailAddresses; } 换句话说,我希望列表中的每个项目都被validation为一个电子邮件地址。 当然,注释这样的集合是不可接受的。 有没有办法做到这一点?
我刚开始学习Java,对平台独立性这个话题感到困惑。 不是“独立”意味着Java代码应该在任何机器上运行,并且不需要安装特殊的软件? 但是JVM需要存在于机器中。 例如,我们需要Turbo C编译器来编译C / C ++源代码,然后执行它。 机器必须有C编译器。 有人可以请说什么时,Java被称为“平台无关”?
我有这个函数recursion地打印目录中的所有文件的名称。 问题是我的代码非常慢,因为每次迭代都必须访问远程networking设备。 我的计划是首先recursion地加载目录中的所有文件,然后使用正则expression式遍历所有文件,以过滤掉所有不需要的文件。 有没有人有更好的build议? public static printFnames(String sDir){ File[] faFiles = new File(sDir).listFiles(); for(File file: faFiles){ if(file.getName().matches("^(.*?)")){ System.out.println(file.getAbsolutePath()); } if(file.isDirectory()){ printFnames(file.getAbsolutePath()); } } } 这只是一个稍后的testing,我不打算使用这样的代码,而是要将每个匹配高级正则expression式的文件的path和修改date添加到数组中。