StreamEx是一个功能强大的库,但在某些时候我不再需要它的超级大国了.
我怎么能摆脱StreamEx内部开销?这会造成问题吗?
防爆.
public void process(Path path){
StreamEx.of(Files.lines(path))
.groupRuns(...)
//See below
.unwrap()
//
.map(...)
.forEach(...)
}
Run Code Online (Sandbox Code Playgroud) 我已经从1.9版更新到Mockito 2.1。
现在我的一些测试失败了。方法似乎有所变化any(Bla.class)。在此测试还不错之前:
when(criteriaBuilder.greaterThanOrEqualTo(any(Expression.class),
any(Comparable.class)))
.thenReturn(predicate);
Run Code Online (Sandbox Code Playgroud)
现在表达式any(Expression.class)为空。
我是否需要使用另一种方法使其再次正常工作?我可以使用它,(Expression)any()但对我来说似乎不对。
我已经看到不同的属性delimeters:=无法找到它的参考.
我正在寻找一种优雅的方法来Optional使用StreamEx库仅传输非空条目.或者标准库,如果可能的话.
目前我正在使用以下相当冗长的方法:
List<Optional<String>> list =
Arrays.asList(Optional.of("A"), Optional.empty(), Optional.of("B"));
List<String> nonEmpty =
StreamEx.of(list).filter(Optional::isPresent).map(Optional::get).toList();
Run Code Online (Sandbox Code Playgroud)
我基本上是在寻找像StreamEx这样的nonNull方法,但对于Optional.
我想比较几周的字符串表示,例如"01/17"周在"02/17"之前和"52/16"之后.
以下代码抛出一个异常,我猜是因为我的字符串没有暗示每周的确切日期.但是,我不在乎 - 它可能都是星期一或星期四或其他什么:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ww/YY", Locale.GERMANY);
LocalDate date1 = formatter.parse(str1, LocalDate::from);
Run Code Online (Sandbox Code Playgroud)
我需要修改解析器吗?或者解析其他格式?Unfortunatley几周没有像YearMonth这样的对象......
我在支付网关公司工作,在分析代码时遇到了 ImmuatbleMap 对象。我想知道有关的所有细节。它是什么?它与地图相比有什么优势?核心 java 是否支持 ImmuatbleMap?
是否可以为kubernetes中的用户配置默认名称空间(“默认”以外)?
谢谢。
我想验证所有List<T>的元素类型是什么T.
我可以有一个List<object>包含对象,字符串,整数,产品,供应商等,但在我的情况下,如果List<T>定义为List<object>所有元素必须是对象.
也就是说,我想确保元素的类型是传入泛型类型的确切类型,而不是继承链中的任何其他类型.
例:
public void Foo<T>(List<T> list)
{
// if not all elements are of type T (not SubClass of T) throw exception
//...
}
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法?
例如,我有A,B,C类,它们都在一个List<Object>(列表来自XML-Parser,我对这部分没有影响).通常我只需要一种类型.所以我写了以下课程:
public class FilterForObject{
public static List<A> extractA(Result r){
return extractClass(r,A.class);
}
public static List<B> extractB(Result r){
return extractClass(r,B.class);
}
public static List<C> extractC(Result r){
return extractClass(r,C.class);
}
private static <T> List<T> exctracClass(final Result r,final Class<T> resultClass) {
List<T> ret = new ArrayList<T>(40);
for (Object o : r.getAorBorC()) {
if( o instanceof T){
ret.add((T)o); // For some reasons this doesn't work
}
}
return ret;
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到了以下警告:
无法对类型参数T执行instanceof检查.请使用其擦除对象,因为将在运行时擦除其他泛型类型信息
但是我没有得到确切的问题,在编译时所有可能的返回类型都是已知的?
有类似Java的东西:
class A {}
class B {private A a;}
class C {private A a;}
Run Code Online (Sandbox Code Playgroud)
我怎么知道哪个类声明了?
即我想要获得B级或C级
任何想法都表示赞赏.
问候
我编写了一个 Java 程序来查找 2 个字符串的 Anagram。
供参考:如果两个字符串使用完全相同的字母书写,忽略空格、标点符号和大写,则它们是字谜词。每个字母在两个字符串中的计数应该相同。例如,Army 和 Mary 是彼此的变位词。
程序:
package practice;
import java.util.ArrayList;
import java.util.List;
public class Anagram_String {
public static void main(String[] args) {
String s1="mary";
String s2="army";
int k=0;
List<String> matchedChar= new ArrayList<String>();
String charmatch="";
char[] ch1= s1.toLowerCase().toCharArray();
char[] ch2= s2.toLowerCase().toCharArray();
if(s1.length()==s2.length())
{
for(int i=0;i<s1.length();i++)
{
for(int j=0;j<s2.length();j++)
{
if(ch1[i]==ch2[j])
{
k++;
charmatch=String.valueOf(ch1[i]);
System.out.println(charmatch);
matchedChar.add(charmatch);
System.out.println("Arraylist value is "+matchedChar.toString());
System.out.println(matchedChar.size());
}
}
k=0;
}
String arrayValue=matchedChar.toString();
System.out.println("Array value is "+arrayValue);
if(arrayValue.contains(s2)){
System.out.println("String 1 and String 2 …Run Code Online (Sandbox Code Playgroud) java ×7
java-8 ×3
generics ×2
java-stream ×2
streamex ×2
.net ×1
.net-2.0 ×1
anagram ×1
c# ×1
class ×1
collections ×1
datetime ×1
dictionary ×1
guava ×1
java-time ×1
kubernetes ×1
mockito ×1
oop ×1
parsing ×1
spring-boot ×1
string ×1