当我尝试在 android studio 上构建 kotlin 程序时,它会显示通知:
*Unable to find Gradle tasks to build: [:].
Build mode: COMPILE_JAVA.
Tests: All.*
Run Code Online (Sandbox Code Playgroud)
当我尝试调试或运行如下代码时会发生这种情况
fun main(){
println "hello world \n I am Michael Girum."
}
Run Code Online (Sandbox Code Playgroud) 我尝试在 NetBeans 上使用 SMTP 发送邮件时收到错误消息:
运行:线程“main”中出现异常 java.lang.NoClassDefFoundError:SendMail.createMessage(SendMail.java:45) 处的 javax/activation/DataSource 在 SendMail.main(SendMail.java:59) 处 引起原因:java.lang.ClassNotFoundException: javax.activation.DataSource 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 2 个以上 C:\Users\Admin\AppData\Local\NetBeans\Cache\12.0\executor-snippets\run.xml:111:执行此行时发生以下错误:C:\Users\Admin\AppData\Local\NetBeans\Cache\12.0\executor-snippets\run.xml:68: Java 返回: 1 BUILD FAILED (总时间: 0 秒)
我需要如何修复它?
(我使用 Apache NetBeans IDE 12.0;Java:15;Java HotSpot(TM) 64 位服务器 VM 15+36-156)
我正在尝试测试服务,但存储库始终为空。使用 JPA 存储库时,我从未遇到过此问题。我不确定它是否与 ReactiveCrudRepository 有关。有人遇到过这个问题吗?
@RunWith(MockitoJUnitRunner.class)
class UserTest {
@InjectMocks
private UserService underTest;
@Mock
private UserRepository userRepository;
@Mock
private AutoCloseable closeable;
@BeforeEach
public void init() {
closeable = MockitoAnnotations.openMocks(this);
}
@AfterEach
public void closeService() throws Exception {
closeable.close();
}
@Test
void getApplicableUsers() {
when(userRepository.findAll().collectList().block()).thenReturn(new ArrayList<>());
Set<User> expected = underTest.getUsers(getUser(), getUsers());
verify(underTest, times(1)).updateUsers(getUser(),expected);
}
}
Run Code Online (Sandbox Code Playgroud)
> error
>
> java.lang.NullPointerException
> at com.user.UserServiceTest.updateUsers(UserService.java:99)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
> …Run Code Online (Sandbox Code Playgroud) 我有两个List<List<String>>并且想将它们连接起来。
这是我的代码:
List<List<String>> a = Arrays.asList(Arrays.asList("a", "b", "c"));
List<List<String>> b = Arrays.asList(Arrays.asList("d", "e", "f"));
a.addAll(b);
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用并引发异常。
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
Run Code Online (Sandbox Code Playgroud)
下面的代码有效:
List<List<String>> a = new ArrayList<>();
a.add(Arrays.asList("a", "b", "c"));
List<List<String>> b = new ArrayList<>();
b.add(Arrays.asList("d", "e", "f"));
a.addAll(b);
Run Code Online (Sandbox Code Playgroud)
这里有什么区别?
给定一个字符串,返回出现在字符串开头和结尾且不重叠的最长子字符串。例如,sameEnds(“abXab”) 是“ab”。
\nsameEnds("abXYab") \xe2\x86\x92 "ab"\nsameEnds("xx") \xe2\x86\x92 "x"\nsameEnds("xxx") \xe2\x86\x92 "x"\nRun Code Online (Sandbox Code Playgroud)\n我的解决方案通过了除一个之外的所有测试^:
\npublic String sameEnds(String string) {\n String substringFront = "";\n String substringEnd = "";\n String longestSubstring = "";\n \n for (int i = 1; i < string.length() - 1; i++) {\n substringFront = string.substring(0, i);\n substringEnd = string.substring(i);\n \n if (substringEnd.contains(substringFront)) {\n longestSubstring = substringFront;\n }\n }\n \n return longestSubstring;\n}\nRun Code Online (Sandbox Code Playgroud)\n这里有什么问题?我该如何解决它?
\n\n我有这个类存储坐标的纬度和经度以及距中心的距离。在我的算法中的某个时刻,我有一个这些坐标的列表,我想按它们距中心的距离对它们进行排序。因此,我实现了Comparable接口及其compareTo方法。
public class Coordinate implements Comparable<Coordinate> {
private Double lat;
private Double lon;
private Double distanceCenter;
protected Coordinate(Double lon, Double lat, Double distanceFromCenter) {
this.lat=lat;
this.lon=lon;
this.distanceCenter=distanceFromCenter;
}
public Double getDistanceFromCenter() {
return distanceFromCenter;
}
@Override
public int compareTo(Coordinate compared) {
return (int) ((this.distanceCenter) - (compared.getDistanceCenter()));
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,有时两点之间的差异太小(几乎为零),java会抛出一个
java.lang.IllegalArgumentException: Comparison method violates its general contract
Run Code Online (Sandbox Code Playgroud)
我解决了这个问题,只需将每个距离乘以一个非常大的数字,以避免任何“重要性损失”效应
@Override
public int compareTo(Eq compared) {
return (int) ((this.distanceCenter*1000000000000000.0) (compared.getDistanceCenter()*1000000000000000.0));
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更优雅的方法来解决此类问题或者我是否做错了什么
我有一个包含以下字段及其各自的 getter 的类,以及一个附加方法getTotalBalance,我没有任何字段,但有一个自定义实现。
public class demo{
private String balance;
private String blockedBalace;
private String futureBalance;
private String availableBalance;
//getters for previous fields
public String getTotalBalance(){
//something..
}
Run Code Online (Sandbox Code Playgroud)
当我序列化此类的对象时,我得到以下 JSON 输出。
{
"balance": "12.30",
"blockedBalance":"23.45",
"futureBalance" :"56.22",
"availableBalance" :"12.30",
"totalBalance" : "34.11"
}
Run Code Online (Sandbox Code Playgroud)
即使我没有声明 的字段totalBalance,我最终还是将其序列化了。这怎么可能?
java ×8
android ×2
androidx ×1
arrays ×1
build.gradle ×1
collections ×1
comparable ×1
compareto ×1
double ×1
jackson ×1
kotlin ×1
list ×1
matching ×1
mockito ×1
netbeans ×1
smtp ×1
spring ×1
spring-mvc ×1
string ×1
substring ×1
unit-testing ×1