我有以下线路, typeName="ABC:xxxxx;"; 我需要取ABC字, 我写了下面的代码片断, Pattern pattern4=Pattern.compile("(.*):"); matcher=pattern4.matcher(typeName); String nameStr=""; if(matcher.find()) { nameStr=matcher.group(1); } 所以,如果我把group(0)我得到了ABC:但是如果我把group(1)它是ABC ,所以我想知道 这个0和1是什么意思? 如果有人能用好的例子来解释我,那会更好。 正则expression式模式包含一个:其中,为什么group(1)结果省略了? 组1是否检测括号内的所有单词? 所以,如果我再加两个括号,如\\s*(\d*)(.*) :那么,会有两个组? group(1)将返回(\d*)部分和group(2)返回(.*)部分? 代码片段的目的是为了澄清我的困惑。 这不是我正在处理的代码。 上面给出的代码可以使用String.split()以更简单的方式完成。
比方说,我有一个使用Executor框架的应用程序 Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } 当我在debugging器中运行这个应用程序时,将使用以下(默认)名称创build一个线程: Thread[pool-1-thread-1] 。 正如你所看到的,这不是非常有用的,据我所知, Executor框架不提供一个简单的方法来命名创build的线程或线程池。 那么,如何为线程/线程池提供名称呢? 比如Thread[FooPool-FooThread] 。
我知道Java没有指针,但是我听说可以用指针创buildJava程序,而这可以由less数几个java专家来完成。 这是真的吗?
我需要编写一个应用程序,我可以使用spring-data和mongodb进行复杂的查询。 我已经开始使用MongoRepository,但是为了查找示例或者真正理解语法而苦恼于复杂的查询。 我正在谈论这样的疑问: @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { List<User> findByEmailOrLastName(String email, String lastName); } 或使用基于JSON的查询,我尝试了试错法,因为我没有得到正确的语法。 即使在阅读了mongodb文档(由于语法错误而导致的非工作示例)之后。 @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { @Query("'$or':[{'firstName':{'$regex':?0,'$options':'i'}},{'lastName':{'$regex':?0,'$options':'i'}}]") List<User> findByEmailOrFirstnameOrLastnameLike(String searchText); } 在阅读所有的文档之后,似乎mongoTemplate更好。 我指的是以下文件: http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/reference.html 你能告诉我什么更方便和强大的使用? mongoTemplate或MongoRepository ? 都是同样成熟还是其中一个比另一个缺乏更多的function?
我们知道,Android应用程序是用Java编写的。 在Java中,无论你做什么 ,都不可能保护已编译的代码免受反编译或逆向工程,因为堆栈溢出的问题如何locking已编译的Java类以防止反编译? 提示。 如何保护包含algorithm商业秘密的应用程序免于逆向工程? 所谓“如何”,不仅指软件技术,还指其他创造性的方法。
我想使用JavaMail和IMAP从Java应用程序访问GMail中的消息。 为什么我得到一个SocketTimeoutException ? 这是我的代码: Properties props = System.getProperties(); props.setProperty("mail.imap.host", "imap.gmail.com"); props.setProperty("mail.imap.port", "993"); props.setProperty("mail.imap.connectiontimeout", "5000"); props.setProperty("mail.imap.timeout", "5000"); try { Session session = Session.getDefaultInstance(props, new MyAuthenticator()); URLName urlName = new URLName("imap://MYUSERNAME@gmail.com:MYPASSWORD@imap.gmail.com"); Store store = session.getStore(urlName); if (!store.isConnected()) { store.connect(); } } catch (NoSuchProviderException e) { e.printStackTrace(); System.exit(1); } catch (MessagingException e) { e.printStackTrace(); System.exit(2); } 我设置超时值,以便它不会“永远”超时。 此外, […]
我们最近在一个Eclipse项目中遇到了一个我们团队成员的问题。 Tomcat没有部署应用程序的JAR。 我们最终注意到.classpath Eclipse文件与项目正常的团队成员不一样。 我们用一个OK项目replace了.classpath文件,Tomcat部署完成。 只是出于好奇,并知道如果有什么不对,将来要看什么, .classpath和.project文件里面有什么。 我可以在那里添加什么,这是什么意思?
如何在使用Java的string中删除重复的空格(包括制表符,换行符,空格等)?
我目前正在使用贝塞尔曲线和曲面绘制着名的犹他州茶壶。 使用16个控制点的Bezier补丁,我已经能够绘制茶壶,并使用“旋转照相机”function来显示茶壶,这个function可以旋转生成的茶壶,目前我正在使用正交投影。 其结果是我有一个“平坦的”茶壶,这是预期的正射投影的目的是保持平行线。 不过,我想用一个透视投影来给茶壶深度。 我的问题是,如何将从“world到camera”函数返回的3D xyz顶点转换为2D坐标。 我想在z = 0时使用投影平面,并允许用户使用键盘上的箭头键确定焦距和图像大小。 我正在用java进行编程,并设置了所有的input事件处理程序,并且还编写了一个处理基本matrix乘法的matrix类。 我一直在阅读维基百科和其他资源一段时间,但我不能完全掌握如何执行这种转变。
我将在Java中进行一个RESTful调用。 但是,我不知道如何打电话。 我需要使用URLConnection还是其他? 任何人都可以帮助我 谢谢。