草庐IT

new_field

全部标签

java - java 中的约定 - 构造函数/方法之外的 "new"?

简单的问题。有心友写过类似这样的代码(只是为了给你解释我的问题,一点用都没有....)classExample{privateint[]tab=newint[10];publicExample(){for(inti=0;i我告诉他他应该将new放在构造函数中classExample{privateint[]tab;publicExample(){tab=newint[10];...}当他问我为什么时,我不知道该怎么回答:除了“这样更好”之外,我没有明确的论据。按照我的学习方式,您可以使用基本类型(int、double...)初始化变量,但对于数组,您应该在构造函数中进行初始化。所以:真

java - 我不应该在 Java 中执行 `String s = new String("一个新字符串");`,即使有自动字符串实习?

好的,这个问题是这个问题的延伸JavaStrings:"Strings=newString("silly");"上面的问题和这个问题问的是同一个问题,但是我有一个新的疑点。根据EffectiveJava和上述问题的答案,我们应该不做Strings=newString("anewstring");,因为那样会创建不必要的对象。这个结论我不太确定,因为我觉得Java在做automaticstringinterning,也就是说对于一个字符串,反正内存中只有一份。那么让我们看看Strings=newString("anewstring");。"anewstring"已经是在内存中创建的字符串

java - 为什么 private static field = new Singleton 在 Java 中不懒惰?

我看了很多关于Singleton的文章,其中大部分作者都说Java中Singleton的这种变体:publicclassSingleton{privatestaticSingletoninstance=newSingleton();privateSingleton(){}publicstaticSingletongetInstance(){returninstance;}}是不懒惰(然后是EAGER)。但我不明白为什么,Singleton()构造函数只会在Singleton类初始化时被调用。我知道几个可以触发类初始化的原因:将new与构造函数一起使用(但在这种情况下,构造函数是私有(p

java - 没有封闭的实例是可访问的。必须用类型的封闭实例限定分配(例如 x.new A() 其中 x 是 的实例)

这个问题在这里已经有了答案:Whatcauseserror"NoenclosinginstanceoftypeFooisaccessible"andhowdoIfixit?(11个答案)关闭5年前。我是编程新手,明年我将在大学学习它。在我的publicstaticvoidmain中...我无法创建新的SimpleCircle。这个错误只发生在我的圈子里。非常感谢你的帮助!:)publicclassTestSimpleCircle{classSimpleCircle{doubleradius;SimpleCircle(){radius=1;}SimpleCircle(doublenewR

java - reflect.Field.annotations 始终为空

我正在尝试使用反射和注释。出于某种原因,每当我向字段(或类或方法)添加注释并使用反射查看该字段时,我都会看到它的annotations字段为空。例如,这段代码:publicclassTest{publicstaticvoidmain(String[]args)throwsNoSuchFieldException,SecurityException{System.out.println(Test.class.getField("bl").getAnnotations().length);}@annopublicintbl;public@interfaceanno{}}打印0。顺便说一句,

java - Field 中原始 getter/setter 的目的是什么?

在Field中publicObjectget(Objectobj)方法的文档中类说Thevalueisautomaticallywrappedinanobjectifithasaprimitivetype.对于publicvoidset(Objectobj,Objectvalue)来说Iftheunderlyingfieldisofaprimitivetype,anunwrappingconversionisattemptedtoconvertthenewvaluetoavalueofaprimitivetype.所以我是对的,像getInt和setInt这样的特定原始getter和s

我现在必须new一个对象!!!

目录前言1.new2.delete3.底层逻辑4.定位new5.对比前言🎃之前在使用C语言的时候,我们便使用 malloc 和 calloc 等函数进行动态内存的开辟。但 C++ 之中又引入了两个操作符 new 和 delete 来代替C语言中的函数进行动态内存的管理。下面就一起来学习如何使用吧。1.new🎃使用 new 比使用 malloc 方便许多,只需要 new+ 类型即可完成空间申请。而随着后面加的操作不同,能达到不一样的效果。🎃不仅如此使用 new 之后不需要像 malloc 那样检查是否开辟成功,new 失败会自动抛异常(具体如何,以后再进行讲解)。intmain(){ int*p

java - BeanWrapperFieldsetMapper 映射 PropertyEditor per field basis

我正在使用springbatch进行文件到数据库的处理,目前我正在使用PropertyEditors将分隔文件中的字符串转换为下面提供的某个对象。Map,PropertyEditor>editors=newHashMap();CustomDateEditordateEditor=newCustomDateEditor(newSimpleDateFormat("yyyy-MM-dd"),true);editors.put(Date.class,dateEditor);因此,如果我有一个日期字段,我将使用CustomDateEditor并成功解析给定的格式日期字符串。但是,如果我在同一文件

java - FindBugs - SE_BAD_FIELD 规则,为什么它会忽略 java.lang.Object?

来自SE_BAD_FIELD的描述:Non-transientnon-serializableinstancefieldinserializableclassThisSerializableclassdefinesanon-primitiveinstancefieldwhichisneithertransient,Serializable,orjava.lang.Object,anddoesnotappeartoimplementtheExternalizableinterfaceorthereadObject()andwriteObject()methods.Objectsofthi

java - NEW 是内部专有 API

在我们项目的构建过程中,我们收到一个相当无法解释的警告:[javac](...)\SessionKeeper.java:39:warning:NEWisinternalproprietaryAPIandmayberemovedinafuturerelease[javac]privatestaticfinalinttimeOfInactivity=1000*60*9;//allowedtimeofinactivity[javac]^附加信息:2012年5月22日编译的ApacheAnt(TM)版本1.8.4Java(TM)SE运行时环境(build1.7.0_25-b16)谁能解释为什么