我知道在Java 8中,我可以像这样过滤:
List<User> olderUsers = users.stream().filter(u -> u.age > 30).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但是,如果我有一个集合和六个过滤标准,我想测试标准的组合怎么办?
例如,我有一组对象和以下标准:
<1> Size
<2> Weight
<3> Length
<4> Top 50% by a certain order
<5> Top 20% by a another certain ratio
<6> True or false by yet another criteria
Run Code Online (Sandbox Code Playgroud)
我想测试上述标准的组合,例如:
<1> -> <2> -> <3> -> <4> -> <5>
<1> -> <2> -> <3> -> <5> -> <4>
<1> -> <2> -> <5> -> <4> -> <3>
...
<1> -> <5> -> <3> -> <4> -> <2>
<3> …Run Code Online (Sandbox Code Playgroud) 我正在使用一些apache HttpClient jar,所以我将它们放在我的项目的lib目录中,当Netbeans编译项目时,它复制lib并生成一个项目jar到dist目录,但当我用webstart运行我的项目时,我需要将项目jar和lib复制到tomcat的ROOT目录中,我想知道Netbeans是否可以生成包含lib目录中所有jar的项目jar,所以我不必将项目jar和lib目录复制到tomcat的ROOT目录中.Netbeans能做到吗?
在我的Java应用程序中,我有一个JFrame窗口,如何从Java程序中最小化它?
当我用jdk 7运行Json测试程序时,它说:
Exception in thread "main" javax.json.JsonException: Provider org.glassfish.json.JsonProviderImpl not found
at javax.json.spi.JsonProvider.provider(JsonProvider.java:97)
at javax.json.Json.createArrayBuilder(Json.java:257)"
Run Code Online (Sandbox Code Playgroud)
我在我的项目中包含了"javax.json-api-1.0.jar".
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonArrayBuilder;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class JsonExample
{
public static void main(String[] args)
{
List<User> users=getUsers();
// build JSON
JsonArrayBuilder jsonArrayBuilder=Json.createArrayBuilder();
for (User user : users)
{
jsonArrayBuilder.add(
Json.createObjectBuilder()
.add("id",user.getId())
.add("name",user.getName())
.add("join",user.getJoin().getTime()));
}
JsonArray usersJson=jsonArrayBuilder.build();
System.out.println(usersJson.toString());
}
// dummy users
public static List<User> getUsers()
{
List<User> users=new ArrayList<User>(10);
User user=new User();
user.setId(1);
user.setName("Hero");
user.setJoin(new …Run Code Online (Sandbox Code Playgroud) 我知道Google App Engine提供了可用空间,但我想知道它是仅用于在其数据库中存储数据还是允许我在服务器端创建文件和目录来存储我的数据?例如,我可以使用以下方法来保存文件吗?
public static void saveFile(String File_Path,StringBuffer Str_Buf,boolean Append)
{
FileOutputStream fos=null;
BufferedOutputStream bos=null;
try
{
fos=new FileOutputStream(File_Path,Append);
bos=new BufferedOutputStream(fos);
for (int j=0;j<Str_Buf.length();j++) bos.write(Str_Buf.charAt(j));
}
catch (Exception e) { e.printStackTrace(); }
finally
{
try
{
if (bos!=null)
{
bos.close();
bos=null;
}
if (fos!=null)
{
fos.close();
fos=null;
}
}
catch (Exception ex) { ex.printStackTrace(); }
}
}
Run Code Online (Sandbox Code Playgroud) 使用JNLP,我有这条线:
File_Save_Service.saveFileDialog(null,null,new StringBufferInputStream("testing"),null);
Run Code Online (Sandbox Code Playgroud)
如何在此行中使用StringReader替换StringBufferInputStream?StringBufferInputStream的API说更好用StringReader,但如何在不同类型之间进行转换?
我的代码看起来像这样:
Vector<String> My_Vector=new Vector<String>();
String My_Array[]=new String[100];
for (int i=0;i<100;i++) My_Array[i]="Item_"+i;
......
My_Vector.addAll(My_Array);
Run Code Online (Sandbox Code Playgroud)
但是我收到了一条错误消息,正确的方法是什么,没有循环添加每个项目?
坦率
在我的Web应用程序中,当用户登录时,我将他的Id添加到servlet中的有效ID的向量中,当他退出时,我从向量中删除了他的Id,因此我可以看到有多少当前用户是活动的,如果用户忘记注销,我的servelt生成的html具有:
<meta http-equiv="Refresh" content="30; url=My_Servlet?User_Action=logout&User_Id=1111">
Run Code Online (Sandbox Code Playgroud)
在标签中自动将他退出.
但我注意到许多用户永远都在那里,从未退出.我发现了为什么,通过关闭他们的浏览器,他们从不手动或自动注销,因此他们的用户ID永远不会从有效的用户ID向量中删除.
所以,我的问题是:我如何检测用户关闭他们的浏览器,所以我的servlet可以从向量中删除他们的ID?
我在隧道尽头看到一些亮点,但仍有问题,我的程序有这样的事情:
活跃用户列表:
User_1 : Machine_1 [ IP_1 address ]
User_2 : Machine_2 [ IP_2 address ]
User_3 : Machine_3 [ IP_3 address ]
...
Run Code Online (Sandbox Code Playgroud)
我如何从会话监听器知道哪个用户的会话已经结束,从而将他从我的列表中删除?
我希望会话结束时,destroy()会调用HttpServlet的方法,我可以在那里删除用户ID,但是当用户关闭浏览器时它永远不会被调用,为什么?HttpServlet中还有其他方法在会话关闭时被调用吗?
有一个类似的问题:"Netbeans - 关闭 - 波浪形红色强调 - 怎么样?" 但它适用于早期版本,不再适用.
我仍然希望错误被强调,只是不在评论中,它现在强调类似于:"buffersize"
如何编写一个查询,可以找到我所有item_number以某个值开始?
例如,有这样的item_numbers:
123_abc
123_xyz
ierireire
321_add
999_pop
Run Code Online (Sandbox Code Playgroud)
我当前的查询如下所示:
"select from"+ PayPal_Message.class.getName()+"where item_number =='"+ Item_Number +"'order by item_number desc"
什么是查询看起来可以返回所有item_numbers以"123_"开头?