Exception:java.lang.IllegalArgumentException: URI is not hierarchical
时间: 2023-11-15 16:13:41 浏览: 233
这个错误通常发生在使用Java标准库中的URI类时,传入的参数不符合URI标准要求。URI要求传入的参数必须是一个层次结构的URL或文件路径,而非单纯的字符串。
例如,以下代码会抛出上述异常:
```java
String str = "example.com";
URI uri = new URI(str); // 抛出 java.lang.IllegalArgumentException: URI is not hierarchical
```
正确的用法应该是:
```java
String str = "http://example.com";
URI uri = new URI(str);
```
或者是:
```java
String str = "/path/to/file.txt";
URI uri = new URI("file", null, str, null);
```
如果传入的参数确实不符合URI标准,你需要检查一下传入的字符串是否正确,或者尝试使用其他类库来处理。
相关问题
Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String ### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String
这个错误通常是由于在MyBatis的Mapper文件中使用了错误的比较运算符或者类型不匹配导致的。你可以检查一下Mapper文件中的sql语句,确认所有的比较运算符都使用了正确的语法,并且所有的参数类型都与数据库中的字段类型匹配。如果你无法解决这个问题,可以将Mapper文件和相关的Java代码发给我,让我来帮你排查问题。
BaseQuickAdapter 的 setHeaderView 报错如下 System.err: java.lang.reflect.InvocationTargetException System.err: Caused by: java.lang.IllegalArgumentException: View is not a binding layout
这个报错的意思是传递给 `setHeaderView()` 方法的 View 并不是一个绑定了数据的布局。可能是因为你使用了错误的布局,或者没有正确的绑定数据。
你需要确保你的布局文件是使用了 Data Binding 技术,并且已经正确的绑定了数据。可以检查一下你的布局文件是否包含类似如下的代码:
```
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="data"
type="com.example.MyData" />
</data>
<!-- Your UI components -->
</layout>
```
其中 `MyData` 是你要绑定的数据类型。
另外,还需要确保在使用 `setHeaderView()` 方法之前已经设置了适配器的数据源。如果数据源没有设置,那么绑定数据就不会生效,也就会出现类似的错误。
阅读全文