在查看一些旧代码时,我遇到了这个宝石:
MyObject o = new MyObject("parameter");
if (o == null) o = new MyObject("fallback parameter");
Run Code Online (Sandbox Code Playgroud)
第二行在Eclipse中标记为死代码,我理解为什么.似乎没有显式抛出任何异常,并且MyObject构造函数不可能抛出任何类型的异常(例如NullPointerExceptions).
我的问题是为什么有空检查?以前是否可以在旧版本的Java中使构造函数返回null?或者这只是无用的死代码?
我已经尝试在网上和我自己的知识中找到答案,但我似乎无法找到一个明确,明确的答案.
假设我只使用另一个包中的一个类,只需要导入一次,比如说myPack.anotherPackage.ClassName.
使用import语句之间有什么区别(如果有的话):
import myPack.anotherPackage.ClassName;
Run Code Online (Sandbox Code Playgroud)
与使用完全限定名称:
myPack.anotherpackage.ClassName classInst = new myPack.anotherpackage.ClassName();
Run Code Online (Sandbox Code Playgroud)
?
显然这个问题仅适用于ClassName仅使用一次的问题.
我一直在寻找解决方案几个小时,但我找不到任何.
基本上,我想从我的Android设备上传文件到http网站.但是,我不知道如何做到这一点.我在设备上使用java,我想在服务器端使用PHP.我只是想上传文件,而不是在服务器上做任何花哨的事情.
任何人都可以提供代码和/或与我需要的良好链接吗?我几乎没有经验,我很茫然.
谢谢,NS
PS.我没有PHP编码经验.
我做了一些谷歌搜索,试图找出URL中使用的"slug"这个词的来源.但是我似乎无法找到任何相关信息.有谁知道这个词的来源?
在我们的应用程序中,我们使用Random和SecureRandom为某些客户端生成一些非常大的信息集.经过一些测量后,我们意识到使用存储在磁盘上的种子重新生成信息比存储和读取信息更快,内存更少.我查看了javadoc,并没有看到任何保证,给定一个常量种子n,例如,new Random(n).nextInt()不同版本的Java 的结果是相同的.
我的问题是:对于Java 8和以前的版本来说,这是一个安全的假设,new Random(n).nextInt()在Java 8中应该返回与以前版本的Java相同的值吗?
(为了公平起见,我会接受回答上述问题的答案,即使他们没有回答下面的问题.)
虽然我知道不能保证这对于Java的后续版本也是如此,并且第二个问题应该征求一些意见,你认为未来的Java版本将改变用于生成伪随机的算法的可能性是什么?使用Random和SecureRandom的数字?
谢谢!
我正在开发一个大型的c#项目,我想知道为什么人们在他们的应用程序中使用DLL.我知道一个dll文件(请纠正,如果我错了)包含一些函数,但为什么我们不把这些函数放在我们的主c#app中?
谢谢
我知道在Java中,有人可以通过声明它们来在接口中包含常量public static final.但是,假设我有一个名为的接口,I它只包含公共静态最终常量而没有方法签名,以及一个名为的类C.为什么我要在C中实现I?即为什么我会这样做:
public class C implements I
由于常量是公共的和静态的,我不能直接访问它们I吗?
我正在尝试在Spring-XD中运行一个位于以下路径下的作业:
/spring-xd/xd/modules/job/MyJobName (I'll call this path MyJobName below)
Run Code Online (Sandbox Code Playgroud)
我的jar位于MyJobName/lib其根路径中,包含文件logback.xml.不幸的是,Spring-XD似乎完全无视该文件.当我通过我的IDE(IntelliJ)运行作业时,日志记录工作正常,但是当我使用Spring-XD运行它时,它完全忽略了我的SiftingAppender.
这是我的logback.xml文件的样子:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%5p %-25logger{25} %m %n</pattern>
</encoder>
</appender>
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>publication.run.id</key>
<defaultValue>unknown</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${publication.run.id}" class="ch.qos.logback.core.FileAppender">
<file>/data/${publication.run.id}/logs/process.log</file>
<append>true</append>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%5p %-25logger{25} %m %n</pattern>
</layout>
</appender>
</sift>
</appender>
<logger name="com.bitwiseor">
<level value="INFO" />
</logger>
<logger name="org.springframework">
<level value="INFO" />
</logger>
<root>
<level value="INFO" />
<appender-ref ref="SIFT" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我想把这个logback.xml文件放在/ spring-xd/xd/config下,或者放在另一个配置文件夹下,但是我尝试的都没有.我尝试查看Spring-XD文档,但一无所获.
任何见解将不胜感激.
我目前正在尝试为我工作的公司撰写时事通讯。新闻通讯在所有主要互联网浏览器(IE 5.55 到 9、Chrome、Firefox、Opera)中都能正确显示,但是当有人在 Outlook 2007 或 2010 中打开它时,所有字体看起来都“炸了”。
我知道这个问题是因为 Outlook 像 Word 一样呈现 HTML 的方式,如果我手动“缩小”字体,它们在 Outlook 中看起来不错,但在任何其他电子邮件软件中都没有。
我的问题是这个。有没有办法检测是否正在 Outlook 甚至 Word 中打开电子邮件?鉴于 Outlook 不允许使用 JavaScript,此解决方案必须是纯 HTML。我的计划是检测电子邮件浏览器并动态更改字体(一种 if-else)。
感谢您的帮助!
这个问题不是关于如何使用 Serializable,我已经知道了.但是,我想知道如何实现Serializable提出以下警告:
The serializable class MyClass does not declare a static final serialVersionUID field of type long
假设我想编写一个接口Serializable,我将如何"警告"程序员实现我的接口来声明变量?我已经尝试查看源代码,Serializable.java但我找不到任何会导致此行为的内容.这甚至可能吗?
谢谢!
假设我有一个叫做的课程Foo.许多人都会修改此类,并将WILL信息打印到控制台.为此,我们有以下方法:
private void print(String message){ ... }
Run Code Online (Sandbox Code Playgroud)
以我们想要的格式打印到屏幕上.
但是,在查看来自其他开发人员的代码时,我发现他们经常调用System.out.println(...)
,这导致几乎不可读的打印输出.
我的问题如下:是否可以阻止System.out.println()的任何和所有使用Foo.java?如果是这样,怎么样?
我试过看了这个,但我发现的所有都与继承有关,这与我的问题无关.
非常感谢!
NS
编辑:我知道无论我为防止使用某种方法而做的事情都可以由开发者删除,但我们的政策从不删除标记的代码,//IMPORTANT因此它仍然可以用作威慑.
EDIT2:我知道我可以简单地告诉开发人员不要这样做或者使用代码审查来过滤"错误"但是1)我已经这样做并且花费了很多时间并且2)问题是这是否是可能与否,不是如何处理我的开发者.
我正在开发一个Java插件,它允许人们通过指定他们希望使用的字符集编码来写入和读取文件.但是,我对如何在单个文件中编码多个编码感到困惑.例如,假设A字符来自一个字符集而B字符来自另一个字符,是否可以将"AAAAABBBBBAAAAA"写入文件?
如果不可能,对于任何编程语言,或者特别是Java,这通常是正确的吗?如果有可能,我将如何继续读取(解码)文件?
我不想使用Charset的encode()和decode()方法,因为使用它们的测试失败了(一些字符集未被正确解码).我也不想出于各种原因使用第三方程序,所以这个问题的范围纯粹是标准的java包/代码.
非常感谢!
NS
我如何为以下问题创建正则表达式:
我有一个字符串,
name1=value1;name2=value2;.....;
某处,"begin=10072011;"
我需要一对
正则表达式来解析字符串中的所有name = value; 对,其中值是数字.但是,我想忽略这个名字begin
目前我有以下正则表达式:
([\\w]+)=([\\d]+);
Run Code Online (Sandbox Code Playgroud)
我选择begin名字.如何将其更改为不包含begin?
java ×9
android ×1
c# ×1
constants ×1
constructor ×1
dll ×1
file-upload ×1
find ×1
html ×1
html-email ×1
import ×1
interface ×1
java-io ×1
logback ×1
methods ×1
null ×1
outlook-2007 ×1
outlook-2010 ×1
php ×1
qt ×1
random ×1
regex ×1
serializable ×1
slug ×1
spring ×1
spring-xd ×1
terminology ×1
url ×1