Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

5
从Java中的lambda forEach()返回
我试图将一些for-each循环更改为lambda- forEach()方法,以发现lambda表达式的可能性。以下似乎是可能的: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } 带lambda forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); 但是下一个无效: for (Player player : players) { if (player.getName().contains(name)) { return player; } } 带lambda players.forEach(player->{if (player.getName().contains(name)) {return player;}}); 最后一行的语法是否有问题,或者不可能从forEach()方法中返回?


11
将自定义标头添加到WebView资源请求-Android
我需要向来自WebView的每个请求添加自定义标头。我知道loadURL具有的参数extraHeaders,但这些参数仅应用于初始请求。所有后续请求均不包含标头。我已经看过所有的替代WebViewClient,但是没有什么允许向资源请求添加标头- onLoadResource(WebView view, String url)。任何帮助都会很棒。 谢谢,雷

8
如何从java.lang.String获取java.io.InputStream?
我有一个String我想用作InputStream。在Java 1.0中,您可以使用java.io.StringBufferInputStream,但这已经@Deprecrated(有充分的理由-您无法指定字符集编码): 此类无法正确将字符转换为字节。从JDK 1.1开始,从字符串创建流的首选方法是通过StringReader 类。 您可以创建一个java.io.Reader有java.io.StringReader,但没有适配器采取Reader和创造InputStream。 我发现一个古老的虫子正在寻找合适的替代品,但据我所知,这种虫子不存在。 通常建议的解决方法是java.lang.String.getBytes()用作java.io.ByteArrayInputStream: public InputStream createInputStream(String s, String charset) throws java.io.UnsupportedEncodingException { return new ByteArrayInputStream(s.getBytes(charset)); } 但这意味着将String内存中的整个实例化为字节数组,并破坏了流的目的。在大多数情况下,这没什么大不了的,但是我一直在寻找可以保留流意图的东西-尽可能少的数据在内存中重新实现。

4
为什么JVM仍然不支持尾调用优化?
在进行了-jvm-prevent-tail-call-optimizations之后的两年,似乎有一个原型 实现,并且MLVM一段时间以来将该功能列为“ proto 80%”。 Sun / Oracle方面对支持尾部调用是否没有积极的兴趣,或者仅仅是JVM提到尾部调用“ 注定要在每个功能优先级列表上排在第二位 ”。语言峰会? 如果有人测试了MLVM构建并可以分享其运行效果的印象(如果有的话),我将非常感兴趣。 更新: 请注意,某些虚拟机(如Avian)支持正确的尾部调用,而没有任何问题。

7
为什么要使用模板引擎?jsp include和jstl vs tile,freemarker,speed,sitemesh
我将选择一种方法来组织我的视图(使用spring-mvc,但这无关紧要) 据我所知,有6个选项(尽管它们并不互斥): 瓷砖 Sitemesh 自由标记 速度 <jsp:include> <%@ include file=".."> 磁贴和Sitemesh可以分组;Freemarker和Velocity也可以。每个小组中使用哪个小组都不是本次讨论的问题,对此有足够的问题和讨论。 这是一本有趣的读物,但不能说服我使用磁贴。 我的问题是- 这些框架提供了哪些使用 <@ include file=".."> JSTL 无法正确完成的功能。要点(摘自本文): 包括页面的某些部分,例如页眉和页脚 -两者之间没有区别: <%@ include file="header.jsp" %> 和 <tiles:insert page="header.jsp" /> 在标题中定义参数 -例如标题,元标记等。这非常重要,尤其是从SEO角度来看。使用模板选项,您可以简单地定义每个页面都应定义的占位符。但是,因此您可以在JSTL的 jsp中使用<c:set>(在包括页面中)和<c:out>(在包括页面中) 布局重组 -如果要将面包屑移动到菜单上方,或者将登录框移动到另一侧面板上方。如果页面包含(使用jsp)的组织不佳,则在这种情况下可能需要更改每个页面。但是,如果您的布局不是过于复杂,并且将常见内容放在页眉/页脚中,则无需担心。 通用组件和特定内容之间的耦合 -我没有发现任何问题。如果要重用某些片段,请将其移到不包含任何页眉/页脚的页面上,并在需要的地方包含它。 效率 - <%@ include file="file.jsp" %>比任何东西都更有效率,因为它只编译一次。所有其他选项都会被多次解析/执行。 复杂性 -所有非jsp解决方案都需要附加的xml文件,附加的包含文件,预处理器配置等。这既是学习曲线,又会引入更多潜在的故障点。而且,它使支持和更改变得更加乏味-您必须检查许多文件/配置才能了解正在发生的事情。 占位符 -速度/ freemarker除了提供JSTL之外还能提供更多功能吗?在JSTL中,您放置了占位符,并使用模型(由控制器放置在请求或会话范围中)填充了这些占位符。 因此,说服我,除了普通的JSP之外,我还应该使用上述任何框架。


30
Eclipse-java.lang.ClassNotFoundException
尝试从Eclipse启动我的JUnit-Test时,出现“ ClassNotFoundException”。从控制台运行“ MVN测试”时,一切正常。另外,Eclipse中没有报告任何问题。 我的项目结构如下: 父项目(pom包装) Web项目(战争包装-我的JUnit测试在这里) Flex项目 配置项目 编辑:如何找不到该类?这是一个简单的HelloWorld-Application,没有特殊的库。 这是我的JUnit的运行配置: 替代文本http://www.walkner.biz/_temp/runco​​nfig.png Testclass(但正如我所说;它也不适用于简单的HelloWorld ...): import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import biz.prognoserechnung.domain.User; import biz.prognoserechnung.domain.UserRepository; import biz.prognoserechnung.domain.hibernate.UserHibernateDao; public class UserDaoTest { /** * the applicationcontext. */ private ApplicationContext ctx = null; /** * the user itself. …

17
战略模式的真实例子
我一直在阅读有关OCP主体以及如何使用策略模式来实现此目的的信息。 我打算尝试向几个人解释这一点,但是我能想到的唯一示例是根据“订单”的状态使用不同的验证类。 我已经在线阅读了几篇文章,但这些文章通常不会描述使用该策略的真实原因,例如生成报告/账单/验证等。 您是否认为现实世界中有常见的策略模式示例?

6
关于Java可克隆
我一直在寻找一些讲解Java的教程Cloneable,但没有获得任何良好的链接,无论如何,Stack Overflow变得越来越明显。 我想知道以下内容: Cloneable意味着我们可以通过实现Cloneable接口来获得对象的克隆或副本。这样做的优点和缺点是什么? 如果对象是复合对象,则如何进行递归克隆?
95 java  cloneable 

11
Android从选定的单选按钮获取价值
我有一段代码,其中RadioButton一个包含三个s RadioGroup。我想设置的onCheckedListener,将显示的值RadioButton的Toast。但是,到目前为止我没有得到任何结果。我如何获取的值RadioButton并将其显示在中Toast?这是我的代码: import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.Toast; public class MainActivity extends Activity { RadioGroup rg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup1); final String value = ((RadioButton)findViewById(rg.getCheckedRadioButtonId())) .getText().toString(); rg.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void …
95 java  android  xml 

6
Mockito:模拟私有字段初始化
我如何模拟正在内联初始化的字段变量? class Test { private Person person = new Person(); ... public void testMethod() { person.someMethod(); ... } } 在这里,我想person.someMethod()在测试Test.testMethod()需要模拟person变量初始化的方法时进行模拟。有什么线索吗? 编辑:我不允许修改Person类。


6
如何检查Java 8 Stream是否为空?
Stream作为非终端操作,我如何检查a 是否为空,如果不是则抛出异常? 基本上,我正在寻找与下面的代码等效的东西,但是没有在它们之间实现流。特别是,检查不应在终端操作实际消耗流之前进行。 public Stream<Thing> getFilteredThings() { Stream<Thing> stream = getThings().stream() .filter(Thing::isFoo) .filter(Thing::isBar); return nonEmptyStream(stream, () -> { throw new RuntimeException("No foo bar things available") }); } private static <T> Stream<T> nonEmptyStream(Stream<T> stream, Supplier<T> defaultValue) { List<T> list = stream.collect(Collectors.toList()); if (list.isEmpty()) list.add(defaultValue.get()); return list.stream(); }

5
WhatsApp API(java / python)[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 我正在寻找WhatsApp API,最好是Python或Java库。 我已经尝试过Yowsup,但是无法注册我的电话号码;我住在印度,不知道是否与印度有任何关系。 我确实尝试过WhatsAPI(Python库),但也不起作用。 有什么建议吗?这里有Yowsup的用户吗?
95 java  python  api  bots  whatsapp 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.