草庐IT

java - 如何从字符串中提取短语

我如何为两者拉出“16”BarFooBar:Foo8:16FooBarBarfoobarz8:16FooBarBarfoobarz这是我尝试过的StringV,Line="BarFooBar:Foo8:16FooBarBarfoobarz";V=Line.substring(Line.indexOf("([0-9]+:[0-9]+)+")+1);V=V.substring(V.indexOf(":")+1,V.indexOf(""));System.out.println(V);这是我得到的错误Exceptioninthread"main"java.lang.StringIndexOu

java - GWT 自定义字段序列化问题

考虑一个不可变类Foo(一个由ID和名称组成的POJO),它需要序列化以便将数据从服务器发送到客户端。publicfinalclassFoo{privatefinalintm_id;privatefinalStringm_displayName;privateFoo(finalintid,finalStringdisplayName){m_id=id;m_displayName=displayName;}publicstaticFoocreate(finalintid,finalStringdisplayName){//Someerrorcheckingoccurshere....m_

java - 处理 Set<Foo> 的元素并使用流创建 Set<Bar>

我有一个Set的"hostname:port"对,然后我想创建一个Set.我这样试过:SetISAAddresses=StrAddresses.stream().map(addr->newInetSocketAddress(addr.split(":")[0],Integer.parseInt(addr.split(":")[1])));但这会在IntelliJ中产生以下错误:Incompatibletypes.RequiredSetbut'map'wasinferredtoStream:noinstance(s)oftypevariable(s)RexistsothatStreamc

java - 如何在Java中实现构造函数包装?

这就是我想要做的(在Java1.6中):publicclassFoo{publicFoo(){Barb=newBar();b.setSomeData();b.doSomethingElse();this(b);}publicFoo(Barb){//...}}编译器说:calltothismustbefirststatementinconstructor有什么解决方法吗? 最佳答案 你可以这样实现它:publicclassFoo{publicFoo(){this(makeBar());}publicFoo(Barb){//...}pr

java - EasyMock中的 ".andReturn(...).anyTimes()"和 ".andStubReturn(...)"有区别吗?

Thispost建议两者——两者之间存在差异(请参阅用户SnoopyMe的评论)并且两者可以互换使用。EasyMock文档没有提及任何区别。在实践上或语义上有什么区别吗?如果是这样,什么时候使用一个比另一个更合适?编辑:以下测试表明存在差异,至少在与严格模拟一起使用时:@TestpublicvoidtestTestMe(){Barbar=createStrictMock(Bar.class);expect(bar.doBar()).andReturn(1).anyTimes();expect(bar.doOtherBar()).andReturn(2).once();replay(ba

java - 在不加载类的情况下近似 class.getSimpleName() 的最佳方法是什么?

给定一个完全限定的类名,可以用Class.forName()加载,有没有办法将名称转换为加载类和调用getSimpleName()的结果没有实际尝试加载类?我需要这种能力来进行反射(reflection)。 最佳答案 我要说的是,您不能仅根据名称来做到这一点。您可以尝试在.和$上拆分,但此示例代码表明简单名称的开始位置并不总是很明显:classIdeone{privatestaticclassBar{};publicstaticvoidmain(String[]args)throwsjava.lang.Exception{class

java - 在 Java 中扩展 Protocol Buffers

我在访问扩展ProtocolBuffer成员时遇到问题。这是场景:MessageFoo{optionalinti=1;}messageBar{extendFoo{optionalintj=10001;}}我的任何其他原型(prototype)中都没有Bar消息。如何在Java中获取Bar.j?我发现的所有示例都需要在消息中使用Bar。谢谢! 最佳答案 ProtocolBuffer中的扩展并不一定像您期望的那样工作,即它们不匹配Java继承机制。针对您的问题,我创建了以下foobar.proto文件:packagetest;messa

java - 泛型和通配符 : Java likes "new Foo<Bar<?>>"

好的,所以Java不允许以下内容:Foohello=newFoo();这是有道理的——毕竟,如果您只是想装箱/拆箱所有东西,泛型有什么意义呢?奇怪的是,Java确实允许这样做:Foo>howdy=newFoo>();诚然,这实际上完成了更多,但在某些时候,会有一个转换来获取Bar正在使用的任何内容。但是,如果Java可以接受一些特殊性,为什么它不允许这样做呢?:Foobonjour=newFoo();我问的唯一原因是我决定依赖“构造函数的类参数内的通配符”,并且非常想知道它背后的含义/意图。编辑:为了澄清我的问题,允许/禁止这些陈述的理由是什么?我知道“Java不允许在构造函数中使用通

Java:如何创建按字符串路径排序的 Java 树

我有一个这样的字符串路径列表:{"/foo","/bar","/foo/admin","/foo/cust","/bar/erp","/bar/erp/call","/foo/cust/profile"}如何创建一个有序的字符串树路径?或者我在哪里可以找到一种可以解决我的问题的库?另一部分,我想知道如何针对结构进行循环以获取我需要的信息(例如,树节点将包含字符串路径,但也可以包含具有路径属性的对象集合)所以你可以理解为需要一个复杂的数据结构树可以这样表示:-/--/foo----/foo/admin----/foo/cust------/foo/cust/profile--/bar--

java - "import foo.*"不应该也包括子包 "foo.bar.*"吗?

在学习Java时,我想到了许多教程中的一个对我来说相当令人困惑的特性。考虑示例教程中的以下两个导入:importjava.awt.*;importjava.awt.event.*;第一行显然导入了java.awt包,第二行导入了awt的子包。但是asterix不应该包含所有子包吗?因此,第一行应该可以解决问题-不需要第二行吗?如果不是:那么星号的真正用途/用途是什么?例如,在MySQL中使用SELECT*FROMfoo从表中选择所有字段,也许我愚蠢地认为这自然是这种情况。 最佳答案 不,包是作为一个整体。尽管按层次结构考虑它们通常很